ring_theory.polynomial.opposites
⟷
Mathlib.RingTheory.Polynomial.Opposites
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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2022 Damiano Testa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Damiano Testa
-/
-import Data.Polynomial.Degree.Definitions
+import Algebra.Polynomial.Degree.Definitions
#align_import ring_theory.polynomial.opposites from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2022 Damiano Testa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Damiano Testa
-/
-import Mathbin.Data.Polynomial.Degree.Definitions
+import Data.Polynomial.Degree.Definitions
#align_import ring_theory.polynomial.opposites from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -45,7 +45,7 @@ def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
opRingEquiv R (op (monomial n r : R[X])) = monomial n (op r) := by
simp only [op_ring_equiv, RingEquiv.trans_apply, RingEquiv.op_apply_apply,
- RingEquiv.toAddEquiv_eq_coe, AddEquiv.mulOp_apply, AddEquiv.toFun_eq_coe, AddEquiv.coe_trans,
+ RingEquiv.toAddEquiv_eq_coe, AddEquiv.mulOp_apply, AddEquiv.to_fun_eq_coe, AddEquiv.coe_trans,
op_add_equiv_apply, RingEquiv.coe_toAddEquiv, op_add_equiv_symm_apply, Function.comp_apply,
unop_op, to_finsupp_iso_apply, to_finsupp_monomial, AddMonoidAlgebra.opRingEquiv_single,
to_finsupp_iso_symm_apply, of_finsupp_single]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2022 Damiano Testa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Damiano Testa
-
-! This file was ported from Lean 3 source module ring_theory.polynomial.opposites
-! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Data.Polynomial.Degree.Definitions
+#align_import ring_theory.polynomial.opposites from "leanprover-community/mathlib"@"932872382355f00112641d305ba0619305dc8642"
+
/-! # Interactions between `R[X]` and `Rᵐᵒᵖ[X]`
> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -30,11 +30,13 @@ noncomputable section
namespace Polynomial
+#print Polynomial.opRingEquiv /-
/-- Ring isomorphism between `R[X]ᵐᵒᵖ` and `Rᵐᵒᵖ[X]` sending each coefficient of a polynomial
to the corresponding element of the opposite ring. -/
def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
((toFinsuppIso R).op.trans AddMonoidAlgebra.opRingEquiv).trans (toFinsuppIso _).symm
#align polynomial.op_ring_equiv Polynomial.opRingEquiv
+-/
/-! Lemmas to get started, using `op_ring_equiv R` on the various expressions of
`finsupp.single`: `monomial`, `C a`, `X`, `C a * X ^ n`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -46,7 +46,7 @@ def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
opRingEquiv R (op (monomial n r : R[X])) = monomial n (op r) := by
simp only [op_ring_equiv, RingEquiv.trans_apply, RingEquiv.op_apply_apply,
- RingEquiv.toAddEquiv_eq_coe, AddEquiv.mulOp_apply, [anonymous], AddEquiv.coe_trans,
+ RingEquiv.toAddEquiv_eq_coe, AddEquiv.mulOp_apply, AddEquiv.toFun_eq_coe, AddEquiv.coe_trans,
op_add_equiv_apply, RingEquiv.coe_toAddEquiv, op_add_equiv_symm_apply, Function.comp_apply,
unop_op, to_finsupp_iso_apply, to_finsupp_monomial, AddMonoidAlgebra.opRingEquiv_single,
to_finsupp_iso_symm_apply, of_finsupp_single]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -20,7 +20,7 @@ This file contains the basic API for "pushing through" the isomorphism
over a semiring and the polynomial ring over the opposite semiring. -/
-open Polynomial
+open scoped Polynomial
open Polynomial MulOpposite
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -30,12 +30,6 @@ noncomputable section
namespace Polynomial
-/- warning: polynomial.op_ring_equiv -> Polynomial.opRingEquiv is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))
-but is expected to have type
- forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.mul.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.add.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))
-Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv Polynomial.opRingEquivₓ'. -/
/-- Ring isomorphism between `R[X]ᵐᵒᵖ` and `Rᵐᵒᵖ[X]` sending each coefficient of a polynomial
to the corresponding element of the opposite ring. -/
def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -34,7 +34,7 @@ namespace Polynomial
lean 3 declaration is
forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))
but is expected to have type
- forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2))
+ forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.mul.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.add.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))
Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv Polynomial.opRingEquivₓ'. -/
/-- Ring isomorphism between `R[X]ᵐᵒᵖ` and `Rᵐᵒᵖ[X]` sending each coefficient of a polynomial
to the corresponding element of the opposite ring. -/
@@ -46,12 +46,7 @@ def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
`finsupp.single`: `monomial`, `C a`, `X`, `C a * X ^ n`. -/
-/- warning: polynomial.op_ring_equiv_op_monomial -> Polynomial.opRingEquiv_op_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (n : Nat) (r : R), Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) => R -> (Polynomial.{u1} R _inst_1)) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R _inst_1) _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Polynomial.monomial.{u1} R _inst_1 n) r))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (fun (_x : LinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) => (MulOpposite.{u1} R) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (Polynomial.monomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) n) (MulOpposite.op.{u1} R r))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (n : Nat) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R _inst_1) _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Polynomial.monomial.{u1} R _inst_1 n) r))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R _inst_1) _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Polynomial.monomial.{u1} R _inst_1 n) r))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (fun (_x : MulOpposite.{u1} R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (Polynomial.monomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) n) (MulOpposite.op.{u1} R r))
-Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_monomial Polynomial.opRingEquiv_op_monomialₓ'. -/
+#print Polynomial.opRingEquiv_op_monomial /-
-- for maintenance purposes: `by simp [op_ring_equiv]` proves this lemma
@[simp]
theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
@@ -62,39 +57,28 @@ theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
unop_op, to_finsupp_iso_apply, to_finsupp_monomial, AddMonoidAlgebra.opRingEquiv_single,
to_finsupp_iso_symm_apply, of_finsupp_single]
#align polynomial.op_ring_equiv_op_monomial Polynomial.opRingEquiv_op_monomial
+-/
-/- warning: polynomial.op_ring_equiv_op_C -> Polynomial.opRingEquiv_op_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (a : R), Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (fun (_x : RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) => R -> (Polynomial.{u1} R _inst_1)) (RingHom.hasCoeToFun.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (Polynomial.C.{u1} R _inst_1) a))) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (fun (_x : RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) => (MulOpposite.{u1} R) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingHom.hasCoeToFun.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.op.{u1} R a))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (a : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) a))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) a))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (fun (_x : MulOpposite.{u1} R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (RingHom.instRingHomClassRingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R a))
-Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_C Polynomial.opRingEquiv_op_Cₓ'. -/
+#print Polynomial.opRingEquiv_op_C /-
@[simp]
theorem opRingEquiv_op_C (a : R) : opRingEquiv R (op (C a)) = C (op a) :=
opRingEquiv_op_monomial 0 a
#align polynomial.op_ring_equiv_op_C Polynomial.opRingEquiv_op_C
+-/
-/- warning: polynomial.op_ring_equiv_op_X -> Polynomial.opRingEquiv_op_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.X.{u1} R _inst_1))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.X.{u1} R _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.X.{u1} R _inst_1))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_X Polynomial.opRingEquiv_op_Xₓ'. -/
+#print Polynomial.opRingEquiv_op_X /-
@[simp]
theorem opRingEquiv_op_X : opRingEquiv R (op (X : R[X])) = X :=
opRingEquiv_op_monomial 1 1
#align polynomial.op_ring_equiv_op_X Polynomial.opRingEquiv_op_X
+-/
-/- warning: polynomial.op_ring_equiv_op_C_mul_X_pow -> Polynomial.opRingEquiv_op_C_mul_X_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (r : R) (n : Nat), Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (fun (_x : RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) => R -> (Polynomial.{u1} R _inst_1)) (RingHom.hasCoeToFun.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (HMul.hMul.{u1, u1, u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (instHMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (fun (_x : RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) => (MulOpposite.{u1} R) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingHom.hasCoeToFun.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) Nat (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) n))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (r : R) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.mul'.{u1} R _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.mul'.{u1} R _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.mul'.{u1} R _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (fun (_x : MulOpposite.{u1} R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (RingHom.instRingHomClassRingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) Nat (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (instHPow.{u1, 0} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) n))
-Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_C_mul_X_pow Polynomial.opRingEquiv_op_C_mul_X_powₓ'. -/
+#print Polynomial.opRingEquiv_op_C_mul_X_pow /-
theorem opRingEquiv_op_C_mul_X_pow (r : R) (n : ℕ) :
opRingEquiv R (op (C r * X ^ n : R[X])) = C (op r) * X ^ n := by
simp only [X_pow_mul, op_mul, op_pow, map_mul, map_pow, op_ring_equiv_op_X, op_ring_equiv_op_C]
#align polynomial.op_ring_equiv_op_C_mul_X_pow Polynomial.opRingEquiv_op_C_mul_X_pow
+-/
/-! Lemmas to get started, using `(op_ring_equiv R).symm` on the various expressions of
`finsupp.single`: `monomial`, `C a`, `X`, `C a * X ^ n`. -/
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: Damiano Testa
! This file was ported from Lean 3 source module ring_theory.polynomial.opposites
-! leanprover-community/mathlib commit 63417e01fbc711beaf25fa73b6edb395c0cfddd0
+! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -12,6 +12,9 @@ import Mathbin.Data.Polynomial.Degree.Definitions
/-! # Interactions between `R[X]` and `Rᵐᵒᵖ[X]`
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file contains the basic API for "pushing through" the isomorphism
`op_ring_equiv : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X]`. It allows going back and forth between a polynomial ring
over a semiring and the polynomial ring over the opposite semiring. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -27,6 +27,12 @@ noncomputable section
namespace Polynomial
+/- warning: polynomial.op_ring_equiv -> Polynomial.opRingEquiv is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_2))
+but is expected to have type
+ forall (R : Type.{u1}) [_inst_2 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_2)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.mul'.{u1} R _inst_2)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_2) (Polynomial.add'.{u1} R _inst_2)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_2))
+Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv Polynomial.opRingEquivₓ'. -/
/-- Ring isomorphism between `R[X]ᵐᵒᵖ` and `Rᵐᵒᵖ[X]` sending each coefficient of a polynomial
to the corresponding element of the opposite ring. -/
def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
@@ -37,6 +43,12 @@ def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
`finsupp.single`: `monomial`, `C a`, `X`, `C a * X ^ n`. -/
+/- warning: polynomial.op_ring_equiv_op_monomial -> Polynomial.opRingEquiv_op_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (n : Nat) (r : R), Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) => R -> (Polynomial.{u1} R _inst_1)) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R _inst_1) _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Polynomial.monomial.{u1} R _inst_1 n) r))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (fun (_x : LinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) => (MulOpposite.{u1} R) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (Polynomial.monomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1) n) (MulOpposite.op.{u1} R r))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (n : Nat) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R _inst_1) _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Polynomial.monomial.{u1} R _inst_1 n) r))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R _inst_1) _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R _inst_1) (Polynomial.module.{u1, u1} R _inst_1 R _inst_1 (Semiring.toModule.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Polynomial.monomial.{u1} R _inst_1 n) r))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (fun (_x : MulOpposite.{u1} R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.module.{u1, u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (Semiring.toModule.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (Polynomial.monomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) n) (MulOpposite.op.{u1} R r))
+Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_monomial Polynomial.opRingEquiv_op_monomialₓ'. -/
-- for maintenance purposes: `by simp [op_ring_equiv]` proves this lemma
@[simp]
theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
@@ -48,49 +60,76 @@ theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
to_finsupp_iso_symm_apply, of_finsupp_single]
#align polynomial.op_ring_equiv_op_monomial Polynomial.opRingEquiv_op_monomial
+/- warning: polynomial.op_ring_equiv_op_C -> Polynomial.opRingEquiv_op_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (a : R), Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (fun (_x : RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) => R -> (Polynomial.{u1} R _inst_1)) (RingHom.hasCoeToFun.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (Polynomial.C.{u1} R _inst_1) a))) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (fun (_x : RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) => (MulOpposite.{u1} R) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingHom.hasCoeToFun.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.op.{u1} R a))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (a : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) a))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) a))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (fun (_x : MulOpposite.{u1} R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (RingHom.instRingHomClassRingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R a))
+Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_C Polynomial.opRingEquiv_op_Cₓ'. -/
@[simp]
-theorem opRingEquiv_op_c (a : R) : opRingEquiv R (op (C a)) = C (op a) :=
+theorem opRingEquiv_op_C (a : R) : opRingEquiv R (op (C a)) = C (op a) :=
opRingEquiv_op_monomial 0 a
-#align polynomial.op_ring_equiv_op_C Polynomial.opRingEquiv_op_c
-
+#align polynomial.op_ring_equiv_op_C Polynomial.opRingEquiv_op_C
+
+/- warning: polynomial.op_ring_equiv_op_X -> Polynomial.opRingEquiv_op_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.X.{u1} R _inst_1))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.X.{u1} R _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.X.{u1} R _inst_1))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_X Polynomial.opRingEquiv_op_Xₓ'. -/
@[simp]
-theorem opRingEquiv_op_x : opRingEquiv R (op (X : R[X])) = X :=
+theorem opRingEquiv_op_X : opRingEquiv R (op (X : R[X])) = X :=
opRingEquiv_op_monomial 1 1
-#align polynomial.op_ring_equiv_op_X Polynomial.opRingEquiv_op_x
-
-theorem opRingEquiv_op_c_mul_x_pow (r : R) (n : ℕ) :
+#align polynomial.op_ring_equiv_op_X Polynomial.opRingEquiv_op_X
+
+/- warning: polynomial.op_ring_equiv_op_C_mul_X_pow -> Polynomial.opRingEquiv_op_C_mul_X_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (r : R) (n : Nat), Eq.{succ u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (fun (_x : RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) => (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingEquiv.hasCoeToFun.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (MulOpposite.hasAdd.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (fun (_x : RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) => R -> (Polynomial.{u1} R _inst_1)) (RingHom.hasCoeToFun.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (HMul.hMul.{u1, u1, u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (instHMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (fun (_x : RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) => (MulOpposite.{u1} R) -> (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))) (RingHom.hasCoeToFun.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) Nat (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)))))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1)) n))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (r : R) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.mul'.{u1} R _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (fun (_x : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquivClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instNonUnitalNonAssocSemiringMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingEquiv.instRingEquivClassRingEquiv.{u1, u1} (MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.mul'.{u1} R _inst_1)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.add'.{u1} R _inst_1)) (Polynomial.add'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.opRingEquiv.{u1} R _inst_1) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.mul'.{u1} R _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} (Polynomial.{u1} R _inst_1)) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} (Polynomial.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.{u1} R _inst_1) (Polynomial.{u1} R _inst_1) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) r) (Polynomial.mul'.{u1} R _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Polynomial.{u1} R _inst_1) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))) R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{u1, u1} R (Polynomial.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1)))))) (Polynomial.C.{u1} R _inst_1) r) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R _inst_1) Nat (Polynomial.{u1} R _inst_1) (instHPow.{u1, 0} (Polynomial.{u1} R _inst_1) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R _inst_1) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} R _inst_1) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R _inst_1) (Polynomial.semiring.{u1} R _inst_1))))) (Polynomial.X.{u1} R _inst_1) n)))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (Polynomial.mul'.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (fun (_x : MulOpposite.{u1} R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MulOpposite.{u1} R) => Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} (MulOpposite.{u1} R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))) (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))) (RingHom.instRingHomClassRingHom.{u1, u1} (MulOpposite.{u1} R) (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))))) (Polynomial.C.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MulOpposite.op.{u1} R r)) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) Nat (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (instHPow.{u1, 0} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) (Polynomial.semiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)))))) (Polynomial.X.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1)) n))
+Case conversion may be inaccurate. Consider using '#align polynomial.op_ring_equiv_op_C_mul_X_pow Polynomial.opRingEquiv_op_C_mul_X_powₓ'. -/
+theorem opRingEquiv_op_C_mul_X_pow (r : R) (n : ℕ) :
opRingEquiv R (op (C r * X ^ n : R[X])) = C (op r) * X ^ n := by
simp only [X_pow_mul, op_mul, op_pow, map_mul, map_pow, op_ring_equiv_op_X, op_ring_equiv_op_C]
-#align polynomial.op_ring_equiv_op_C_mul_X_pow Polynomial.opRingEquiv_op_c_mul_x_pow
+#align polynomial.op_ring_equiv_op_C_mul_X_pow Polynomial.opRingEquiv_op_C_mul_X_pow
/-! Lemmas to get started, using `(op_ring_equiv R).symm` on the various expressions of
`finsupp.single`: `monomial`, `C a`, `X`, `C a * X ^ n`. -/
+#print Polynomial.opRingEquiv_symm_monomial /-
@[simp]
theorem opRingEquiv_symm_monomial (n : ℕ) (r : Rᵐᵒᵖ) :
(opRingEquiv R).symm (monomial n r) = op (monomial n (unop r)) :=
(opRingEquiv R).Injective (by simp)
#align polynomial.op_ring_equiv_symm_monomial Polynomial.opRingEquiv_symm_monomial
+-/
+#print Polynomial.opRingEquiv_symm_C /-
@[simp]
-theorem opRingEquiv_symm_c (a : Rᵐᵒᵖ) : (opRingEquiv R).symm (C a) = op (C (unop a)) :=
+theorem opRingEquiv_symm_C (a : Rᵐᵒᵖ) : (opRingEquiv R).symm (C a) = op (C (unop a)) :=
opRingEquiv_symm_monomial 0 a
-#align polynomial.op_ring_equiv_symm_C Polynomial.opRingEquiv_symm_c
+#align polynomial.op_ring_equiv_symm_C Polynomial.opRingEquiv_symm_C
+-/
+#print Polynomial.opRingEquiv_symm_X /-
@[simp]
-theorem opRingEquiv_symm_x : (opRingEquiv R).symm (X : Rᵐᵒᵖ[X]) = op X :=
+theorem opRingEquiv_symm_X : (opRingEquiv R).symm (X : Rᵐᵒᵖ[X]) = op X :=
opRingEquiv_symm_monomial 1 1
-#align polynomial.op_ring_equiv_symm_X Polynomial.opRingEquiv_symm_x
+#align polynomial.op_ring_equiv_symm_X Polynomial.opRingEquiv_symm_X
+-/
-theorem opRingEquiv_symm_c_mul_x_pow (r : Rᵐᵒᵖ) (n : ℕ) :
+#print Polynomial.opRingEquiv_symm_C_mul_X_pow /-
+theorem opRingEquiv_symm_C_mul_X_pow (r : Rᵐᵒᵖ) (n : ℕ) :
(opRingEquiv R).symm (C r * X ^ n : Rᵐᵒᵖ[X]) = op (C (unop r) * X ^ n) := by
rw [C_mul_X_pow_eq_monomial, op_ring_equiv_symm_monomial, ← C_mul_X_pow_eq_monomial]
-#align polynomial.op_ring_equiv_symm_C_mul_X_pow Polynomial.opRingEquiv_symm_c_mul_x_pow
+#align polynomial.op_ring_equiv_symm_C_mul_X_pow Polynomial.opRingEquiv_symm_C_mul_X_pow
+-/
/-! Lemmas about more global properties of polynomials and opposites. -/
+#print Polynomial.coeff_opRingEquiv /-
@[simp]
theorem coeff_opRingEquiv (p : R[X]ᵐᵒᵖ) (n : ℕ) :
(opRingEquiv R p).coeff n = op ((unop p).coeff n) :=
@@ -99,7 +138,9 @@ theorem coeff_opRingEquiv (p : R[X]ᵐᵒᵖ) (n : ℕ) :
cases p
rfl
#align polynomial.coeff_op_ring_equiv Polynomial.coeff_opRingEquiv
+-/
+#print Polynomial.support_opRingEquiv /-
@[simp]
theorem support_opRingEquiv (p : R[X]ᵐᵒᵖ) : (opRingEquiv R p).support = (unop p).support :=
by
@@ -107,7 +148,9 @@ theorem support_opRingEquiv (p : R[X]ᵐᵒᵖ) : (opRingEquiv R p).support = (u
cases p
exact Finsupp.support_mapRange_of_injective _ _ op_injective
#align polynomial.support_op_ring_equiv Polynomial.support_opRingEquiv
+-/
+#print Polynomial.natDegree_opRingEquiv /-
@[simp]
theorem natDegree_opRingEquiv (p : R[X]ᵐᵒᵖ) : (opRingEquiv R p).natDegree = (unop p).natDegree :=
by
@@ -117,12 +160,15 @@ theorem natDegree_opRingEquiv (p : R[X]ᵐᵒᵖ) : (opRingEquiv R p).natDegree
simp only [p0, nat_degree_eq_support_max', Ne.def, AddEquivClass.map_eq_zero_iff, not_false_iff,
support_op_ring_equiv, unop_eq_zero_iff]
#align polynomial.nat_degree_op_ring_equiv Polynomial.natDegree_opRingEquiv
+-/
+#print Polynomial.leadingCoeff_opRingEquiv /-
@[simp]
theorem leadingCoeff_opRingEquiv (p : R[X]ᵐᵒᵖ) :
(opRingEquiv R p).leadingCoeff = op (unop p).leadingCoeff := by
rw [leading_coeff, coeff_op_ring_equiv, nat_degree_op_ring_equiv, leading_coeff]
#align polynomial.leading_coeff_op_ring_equiv Polynomial.leadingCoeff_opRingEquiv
+-/
end Polynomial
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -49,17 +49,17 @@ theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
#align polynomial.op_ring_equiv_op_monomial Polynomial.opRingEquiv_op_monomial
@[simp]
-theorem opRingEquiv_op_c (a : R) : opRingEquiv R (op (c a)) = c (op a) :=
+theorem opRingEquiv_op_c (a : R) : opRingEquiv R (op (C a)) = C (op a) :=
opRingEquiv_op_monomial 0 a
#align polynomial.op_ring_equiv_op_C Polynomial.opRingEquiv_op_c
@[simp]
-theorem opRingEquiv_op_x : opRingEquiv R (op (x : R[X])) = x :=
+theorem opRingEquiv_op_x : opRingEquiv R (op (X : R[X])) = X :=
opRingEquiv_op_monomial 1 1
#align polynomial.op_ring_equiv_op_X Polynomial.opRingEquiv_op_x
theorem opRingEquiv_op_c_mul_x_pow (r : R) (n : ℕ) :
- opRingEquiv R (op (c r * x ^ n : R[X])) = c (op r) * x ^ n := by
+ opRingEquiv R (op (C r * X ^ n : R[X])) = C (op r) * X ^ n := by
simp only [X_pow_mul, op_mul, op_pow, map_mul, map_pow, op_ring_equiv_op_X, op_ring_equiv_op_C]
#align polynomial.op_ring_equiv_op_C_mul_X_pow Polynomial.opRingEquiv_op_c_mul_x_pow
@@ -74,17 +74,17 @@ theorem opRingEquiv_symm_monomial (n : ℕ) (r : Rᵐᵒᵖ) :
#align polynomial.op_ring_equiv_symm_monomial Polynomial.opRingEquiv_symm_monomial
@[simp]
-theorem opRingEquiv_symm_c (a : Rᵐᵒᵖ) : (opRingEquiv R).symm (c a) = op (c (unop a)) :=
+theorem opRingEquiv_symm_c (a : Rᵐᵒᵖ) : (opRingEquiv R).symm (C a) = op (C (unop a)) :=
opRingEquiv_symm_monomial 0 a
#align polynomial.op_ring_equiv_symm_C Polynomial.opRingEquiv_symm_c
@[simp]
-theorem opRingEquiv_symm_x : (opRingEquiv R).symm (x : Rᵐᵒᵖ[X]) = op x :=
+theorem opRingEquiv_symm_x : (opRingEquiv R).symm (X : Rᵐᵒᵖ[X]) = op X :=
opRingEquiv_symm_monomial 1 1
#align polynomial.op_ring_equiv_symm_X Polynomial.opRingEquiv_symm_x
theorem opRingEquiv_symm_c_mul_x_pow (r : Rᵐᵒᵖ) (n : ℕ) :
- (opRingEquiv R).symm (c r * x ^ n : Rᵐᵒᵖ[X]) = op (c (unop r) * x ^ n) := by
+ (opRingEquiv R).symm (C r * X ^ n : Rᵐᵒᵖ[X]) = op (C (unop r) * X ^ n) := by
rw [C_mul_X_pow_eq_monomial, op_ring_equiv_symm_monomial, ← C_mul_X_pow_eq_monomial]
#align polynomial.op_ring_equiv_symm_C_mul_X_pow Polynomial.opRingEquiv_symm_c_mul_x_pow
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Data
(#11751)
Polynomial
and MvPolynomial
are algebraic objects, hence should be under Algebra
(or at least not under Data
)
@@ -3,7 +3,7 @@ Copyright (c) 2022 Damiano Testa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Damiano Testa
-/
-import Mathlib.Data.Polynomial.Degree.Definitions
+import Mathlib.Algebra.Polynomial.Degree.Definitions
#align_import ring_theory.polynomial.opposites from "leanprover-community/mathlib"@"63417e01fbc711beaf25fa73b6edb395c0cfddd0"
@@ -110,7 +110,7 @@ theorem support_opRingEquiv (p : R[X]ᵐᵒᵖ) : (opRingEquiv R p).support = (u
theorem natDegree_opRingEquiv (p : R[X]ᵐᵒᵖ) : (opRingEquiv R p).natDegree = (unop p).natDegree := by
by_cases p0 : p = 0
· simp only [p0, _root_.map_zero, natDegree_zero, unop_zero]
- · simp only [p0, natDegree_eq_support_max', Ne.def, AddEquivClass.map_eq_zero_iff, not_false_iff,
+ · simp only [p0, natDegree_eq_support_max', Ne, AddEquivClass.map_eq_zero_iff, not_false_iff,
support_opRingEquiv, unop_eq_zero_iff]
#align polynomial.nat_degree_op_ring_equiv Polynomial.natDegree_opRingEquiv
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -18,7 +18,7 @@ open Polynomial
open Polynomial MulOpposite
-variable {R : Type _} [Semiring R]
+variable {R : Type*} [Semiring R]
noncomputable section
@@ -26,7 +26,7 @@ namespace Polynomial
/-- Ring isomorphism between `R[X]ᵐᵒᵖ` and `Rᵐᵒᵖ[X]` sending each coefficient of a polynomial
to the corresponding element of the opposite ring. -/
-def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
+def opRingEquiv (R : Type*) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
((toFinsuppIso R).op.trans AddMonoidAlgebra.opRingEquiv).trans (toFinsuppIso _).symm
#align polynomial.op_ring_equiv Polynomial.opRingEquiv
@@ -2,14 +2,11 @@
Copyright (c) 2022 Damiano Testa. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Damiano Testa
-
-! This file was ported from Lean 3 source module ring_theory.polynomial.opposites
-! leanprover-community/mathlib commit 63417e01fbc711beaf25fa73b6edb395c0cfddd0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Data.Polynomial.Degree.Definitions
+#align_import ring_theory.polynomial.opposites from "leanprover-community/mathlib"@"63417e01fbc711beaf25fa73b6edb395c0cfddd0"
+
/-! # Interactions between `R[X]` and `Rᵐᵒᵖ[X]`
This file contains the basic API for "pushing through" the isomorphism
It turns out to be convenient to have MulOpposite α = AddOpposite α
true by definition, in the same way that it is convenient to have Additive α = α
; this means that we also get the defeq AddOpposite (Additive α) = MulOpposite α
, which is convenient when working with quotients.
This is a compromise between making MulOpposite α = AddOpposite α = α
(what we had in Lean 3) and
having no defeqs within those three types (which we had as of #1036).
This is motivated by #3333
@@ -41,7 +41,7 @@ def opRingEquiv (R : Type _) [Semiring R] : R[X]ᵐᵒᵖ ≃+* Rᵐᵒᵖ[X] :=
theorem opRingEquiv_op_monomial (n : ℕ) (r : R) :
opRingEquiv R (op (monomial n r : R[X])) = monomial n (op r) := by
simp only [opRingEquiv, RingEquiv.coe_trans, Function.comp_apply,
- AddMonoidAlgebra.opRingEquiv_apply, RingEquiv.op_apply_apply_unop, toFinsuppIso_apply,
+ AddMonoidAlgebra.opRingEquiv_apply, RingEquiv.op_apply_apply, toFinsuppIso_apply, unop_op,
toFinsupp_monomial, Finsupp.mapRange_single, toFinsuppIso_symm_apply, ofFinsupp_single]
#align polynomial.op_ring_equiv_op_monomial Polynomial.opRingEquiv_op_monomial
The unported dependencies are