data.polynomial.moduleMathlib.Data.Polynomial.Module.Basic

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -67,7 +67,7 @@ noncomputable instance : Module S (PolynomialModule R M) :=
   Finsupp.module ℕ M
 
 instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M :=
-  Finsupp.coeFun
+  Finsupp.instCoeFun
 
 #print PolynomialModule.single /-
 /-- The monomial `m * x ^ i`. This is defeq to `finsupp.single_add_hom`, and is redefined here
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
-import Mathbin.RingTheory.FiniteType
+import RingTheory.FiniteType
 
 #align_import data.polynomial.module from "leanprover-community/mathlib"@"4f81bc21e32048db7344b7867946e992cf5f68cc"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
-
-! This file was ported from Lean 3 source module data.polynomial.module
-! leanprover-community/mathlib commit 4f81bc21e32048db7344b7867946e992cf5f68cc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.RingTheory.FiniteType
 
+#align_import data.polynomial.module from "leanprover-community/mathlib"@"4f81bc21e32048db7344b7867946e992cf5f68cc"
+
 /-!
 # Polynomial module
 
Diff
@@ -32,8 +32,6 @@ open scoped Polynomial BigOperators
 
 variable (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
 
-include R
-
 #print PolynomialModule /-
 /-- The `R[X]`-module `M[X]` for an `R`-module `M`.
 This is isomorphic (as an `R`-module) to `M[X]` when `M` is a ring.
@@ -60,8 +58,6 @@ deriving AddCommGroup, Inhabited
 #align polynomial_module PolynomialModule
 -/
 
-omit R
-
 variable {M}
 
 variable {S : Type _} [CommSemiring S] [Algebra S R] [Module S M] [IsScalarTower S R M]
@@ -84,9 +80,11 @@ noncomputable def single (i : ℕ) : M →+ PolynomialModule R M :=
 #align polynomial_module.single PolynomialModule.single
 -/
 
+#print PolynomialModule.single_apply /-
 theorem single_apply (i : ℕ) (m : M) (n : ℕ) : single R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.single_apply PolynomialModule.single_apply
+-/
 
 #print PolynomialModule.lsingle /-
 /-- `polynomial_module.single` as a linear map. -/
@@ -95,20 +93,26 @@ noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
 #align polynomial_module.lsingle PolynomialModule.lsingle
 -/
 
+#print PolynomialModule.lsingle_apply /-
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.lsingle_apply PolynomialModule.lsingle_apply
+-/
 
+#print PolynomialModule.single_smul /-
 theorem single_smul (i : ℕ) (r : R) (m : M) : single R i (r • m) = r • single R i m :=
   (lsingle R i).map_smul r m
 #align polynomial_module.single_smul PolynomialModule.single_smul
+-/
 
 variable {R}
 
+#print PolynomialModule.induction_linear /-
 theorem induction_linear {P : PolynomialModule R M → Prop} (f : PolynomialModule R M) (h0 : P 0)
     (hadd : ∀ f g, P f → P g → P (f + g)) (hsingle : ∀ a b, P (single R a b)) : P f :=
   Finsupp.induction_linear f h0 hadd hsingle
 #align polynomial_module.induction_linear PolynomialModule.induction_linear
+-/
 
 #print PolynomialModule.polynomialModule /-
 @[semireducible]
@@ -132,6 +136,7 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 #align polynomial_module.is_scalar_tower' PolynomialModule.isScalarTower'
 -/
 
+#print PolynomialModule.monomial_smul_single /-
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     monomial i r • single R j m = single R (i + j) (r • m) :=
@@ -146,7 +151,9 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     dsimp [single]
     rw [Finsupp.mapDomain_single, Nat.succ_eq_one_add]
 #align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_single
+-/
 
+#print PolynomialModule.monomial_smul_apply /-
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
     (monomial i r • g) n = ite (i ≤ n) (r • g (n - i)) 0 :=
@@ -162,7 +169,9 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
     · rintro rfl; simp
     · rintro ⟨e, rfl⟩; rw [add_comm, tsub_add_cancel_of_le e]
 #align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_apply
+-/
 
+#print PolynomialModule.smul_single_apply /-
 @[simp]
 theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
     (f • single R i m) n = ite (i ≤ n) (f.coeff (n - i) • m) 0 :=
@@ -175,7 +184,9 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
     · simp_rw [eq_tsub_iff_add_eq_of_le h, if_pos h]
     · rw [if_neg h, ite_eq_right_iff]; intro e; exfalso; linarith
 #align polynomial_module.smul_single_apply PolynomialModule.smul_single_apply
+-/
 
+#print PolynomialModule.smul_apply /-
 theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     (f • g) n = ∑ x in Finset.Nat.antidiagonal n, f.coeff x.1 • g x.2 :=
   by
@@ -191,6 +202,7 @@ theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     rw [Finset.sum_ite_eq]
     simp [Nat.lt_succ_iff]
 #align polynomial_module.smul_apply PolynomialModule.smul_apply
+-/
 
 #print PolynomialModule.equivPolynomialSelf /-
 /-- `polynomial_module R R` is isomorphic to `R[X]` as an `R[X]` module. -/
@@ -220,16 +232,21 @@ variable (R' : Type _) {M' : Type _} [CommRing R'] [AddCommGroup M'] [Module R'
 
 variable [Algebra R R'] [Module R M'] [IsScalarTower R R' M']
 
+#print PolynomialModule.map /-
 /-- The image of a polynomial under a linear map. -/
 noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] PolynomialModule R' M' :=
   Finsupp.mapRange.linearMap f
 #align polynomial_module.map PolynomialModule.map
+-/
 
+#print PolynomialModule.map_single /-
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
   Finsupp.mapRange_single
 #align polynomial_module.map_single PolynomialModule.map_single
+-/
 
+#print PolynomialModule.map_smul /-
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
   by
@@ -243,6 +260,7 @@ theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     rw [monomial_smul_single, map_single, Polynomial.map_monomial, map_single, monomial_smul_single,
       f.map_smul, algebraMap_smul]
 #align polynomial_module.map_smul PolynomialModule.map_smul
+-/
 
 #print PolynomialModule.eval /-
 /-- Evaulate a polynomial `p : polynomial_module R M` at `r : R`. -/
@@ -258,16 +276,21 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
 #align polynomial_module.eval PolynomialModule.eval
 -/
 
+#print PolynomialModule.eval_single /-
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
   Finsupp.sum_single_index (smul_zero _)
 #align polynomial_module.eval_single PolynomialModule.eval_single
+-/
 
+#print PolynomialModule.eval_lsingle /-
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
   eval_single r i m
 #align polynomial_module.eval_lsingle PolynomialModule.eval_lsingle
+-/
 
+#print PolynomialModule.eval_smul /-
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
   by
@@ -281,7 +304,9 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     rw [monomial_smul_single, eval_single, Polynomial.eval_monomial, eval_single, smul_comm, ←
       smul_smul, pow_add, mul_smul]
 #align polynomial_module.eval_smul PolynomialModule.eval_smul
+-/
 
+#print PolynomialModule.eval_map /-
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     eval (algebraMap R R' r) (map R' f q) = f (eval r q) :=
@@ -292,12 +317,15 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
   · intro i m
     rw [map_single, eval_single, eval_single, f.map_smul, ← map_pow, algebraMap_smul]
 #align polynomial_module.eval_map PolynomialModule.eval_map
+-/
 
+#print PolynomialModule.eval_map' /-
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
     eval r (map R f q) = f (eval r q) :=
   eval_map R f q r
 #align polynomial_module.eval_map' PolynomialModule.eval_map'
+-/
 
 #print PolynomialModule.comp /-
 /-- `comp p q` is the composition of `p : R[X]` and `q : M[X]` as `q(p(x))`.  -/
@@ -307,13 +335,16 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
 #align polynomial_module.comp PolynomialModule.comp
 -/
 
+#print PolynomialModule.comp_single /-
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
   rw [comp_apply]
   erw [map_single, eval_single]
   rfl
 #align polynomial_module.comp_single PolynomialModule.comp_single
+-/
 
+#print PolynomialModule.comp_eval /-
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
   by
@@ -325,13 +356,16 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     rw [LinearMap.comp_apply, comp_single, eval_single, eval_smul, eval_single, pow_zero, one_smul,
       Polynomial.eval_pow]
 #align polynomial_module.comp_eval PolynomialModule.comp_eval
+-/
 
+#print PolynomialModule.comp_smul /-
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
   by
   rw [comp_apply, map_smul, eval_smul, Polynomial.comp, Polynomial.eval_map, comp_apply]
   rfl
 #align polynomial_module.comp_smul PolynomialModule.comp_smul
+-/
 
 end PolynomialModule
 
Diff
@@ -55,7 +55,8 @@ for the full discussion.
 -/
 @[nolint unused_arguments]
 def PolynomialModule :=
-  ℕ →₀ M deriving AddCommGroup, Inhabited
+  ℕ →₀ M
+deriving AddCommGroup, Inhabited
 #align polynomial_module PolynomialModule
 -/
 
@@ -153,7 +154,7 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
   induction' g using PolynomialModule.induction_linear with p q hp hq
   · simp only [smul_zero, Finsupp.zero_apply, if_t_t]
   · simp only [smul_add, Finsupp.add_apply, hp, hq]
-    split_ifs; exacts[rfl, zero_add 0]
+    split_ifs; exacts [rfl, zero_add 0]
   · rw [monomial_smul_single, single_apply, single_apply, smul_ite, smul_zero, ← ite_and]
     congr
     rw [eq_iff_iff]
@@ -168,7 +169,7 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
   by
   induction' f using Polynomial.induction_on' with p q hp hq
   · rw [add_smul, Finsupp.add_apply, hp, hq, coeff_add, add_smul]
-    split_ifs; exacts[rfl, zero_add 0]
+    split_ifs; exacts [rfl, zero_add 0]
   · rw [monomial_smul_single, single_apply, coeff_monomial, ite_smul, zero_smul]
     by_cases h : i ≤ n
     · simp_rw [eq_tsub_iff_add_eq_of_le h, if_pos h]
Diff
@@ -198,7 +198,7 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
     map_smul' := fun r x =>
       by
       induction' r using Polynomial.induction_on' with _ _ _ _ n p
-      · simp_all only [add_smul, map_add, [anonymous]]
+      · simp_all only [add_smul, map_add, RingEquiv.toFun_eq_coe]
       · ext i
         dsimp
         rw [monomial_smul_apply, ← Polynomial.C_mul_X_pow_eq_monomial, mul_assoc,
Diff
@@ -28,7 +28,7 @@ universe u v
 
 open Polynomial
 
-open Polynomial BigOperators
+open scoped Polynomial BigOperators
 
 variable (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
 
Diff
@@ -83,9 +83,6 @@ noncomputable def single (i : ℕ) : M →+ PolynomialModule R M :=
 #align polynomial_module.single PolynomialModule.single
 -/
 
-/- warning: polynomial_module.single_apply -> PolynomialModule.single_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.single_apply PolynomialModule.single_applyₓ'. -/
 theorem single_apply (i : ℕ) (m : M) (n : ℕ) : single R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.single_apply PolynomialModule.single_apply
@@ -97,28 +94,16 @@ noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
 #align polynomial_module.lsingle PolynomialModule.lsingle
 -/
 
-/- warning: polynomial_module.lsingle_apply -> PolynomialModule.lsingle_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial_module.lsingle_apply PolynomialModule.lsingle_applyₓ'. -/
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.lsingle_apply PolynomialModule.lsingle_apply
 
-/- warning: polynomial_module.single_smul -> PolynomialModule.single_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.single_smul PolynomialModule.single_smulₓ'. -/
 theorem single_smul (i : ℕ) (r : R) (m : M) : single R i (r • m) = r • single R i m :=
   (lsingle R i).map_smul r m
 #align polynomial_module.single_smul PolynomialModule.single_smul
 
 variable {R}
 
-/- warning: polynomial_module.induction_linear -> PolynomialModule.induction_linear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.induction_linear PolynomialModule.induction_linearₓ'. -/
 theorem induction_linear {P : PolynomialModule R M → Prop} (f : PolynomialModule R M) (h0 : P 0)
     (hadd : ∀ f g, P f → P g → P (f + g)) (hsingle : ∀ a b, P (single R a b)) : P f :=
   Finsupp.induction_linear f h0 hadd hsingle
@@ -146,9 +131,6 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 #align polynomial_module.is_scalar_tower' PolynomialModule.isScalarTower'
 -/
 
-/- warning: polynomial_module.monomial_smul_single -> PolynomialModule.monomial_smul_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_singleₓ'. -/
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     monomial i r • single R j m = single R (i + j) (r • m) :=
@@ -164,9 +146,6 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     rw [Finsupp.mapDomain_single, Nat.succ_eq_one_add]
 #align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_single
 
-/- warning: polynomial_module.monomial_smul_apply -> PolynomialModule.monomial_smul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_applyₓ'. -/
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
     (monomial i r • g) n = ite (i ≤ n) (r • g (n - i)) 0 :=
@@ -183,9 +162,6 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
     · rintro ⟨e, rfl⟩; rw [add_comm, tsub_add_cancel_of_le e]
 #align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_apply
 
-/- warning: polynomial_module.smul_single_apply -> PolynomialModule.smul_single_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_single_apply PolynomialModule.smul_single_applyₓ'. -/
 @[simp]
 theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
     (f • single R i m) n = ite (i ≤ n) (f.coeff (n - i) • m) 0 :=
@@ -199,9 +175,6 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
     · rw [if_neg h, ite_eq_right_iff]; intro e; exfalso; linarith
 #align polynomial_module.smul_single_apply PolynomialModule.smul_single_apply
 
-/- warning: polynomial_module.smul_apply -> PolynomialModule.smul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_apply PolynomialModule.smul_applyₓ'. -/
 theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     (f • g) n = ∑ x in Finset.Nat.antidiagonal n, f.coeff x.1 • g x.2 :=
   by
@@ -246,28 +219,16 @@ variable (R' : Type _) {M' : Type _} [CommRing R'] [AddCommGroup M'] [Module R'
 
 variable [Algebra R R'] [Module R M'] [IsScalarTower R R' M']
 
-/- warning: polynomial_module.map -> PolynomialModule.map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))], (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) -> (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Module.{u1, u4} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)], (LinearMap.{u1, u1, u2, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_11) -> (LinearMap.{u1, u1, u2, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11))
-Case conversion may be inaccurate. Consider using '#align polynomial_module.map PolynomialModule.mapₓ'. -/
 /-- The image of a polynomial under a linear map. -/
 noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] PolynomialModule R' M' :=
   Finsupp.mapRange.linearMap f
 #align polynomial_module.map PolynomialModule.map
 
-/- warning: polynomial_module.map_single -> PolynomialModule.map_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.map_single PolynomialModule.map_singleₓ'. -/
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
   Finsupp.mapRange_single
 #align polynomial_module.map_single PolynomialModule.map_single
 
-/- warning: polynomial_module.map_smul -> PolynomialModule.map_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.map_smul PolynomialModule.map_smulₓ'. -/
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
   by
@@ -296,25 +257,16 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
 #align polynomial_module.eval PolynomialModule.eval
 -/
 
-/- warning: polynomial_module.eval_single -> PolynomialModule.eval_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_single PolynomialModule.eval_singleₓ'. -/
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
   Finsupp.sum_single_index (smul_zero _)
 #align polynomial_module.eval_single PolynomialModule.eval_single
 
-/- warning: polynomial_module.eval_lsingle -> PolynomialModule.eval_lsingle is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_lsingle PolynomialModule.eval_lsingleₓ'. -/
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
   eval_single r i m
 #align polynomial_module.eval_lsingle PolynomialModule.eval_lsingle
 
-/- warning: polynomial_module.eval_smul -> PolynomialModule.eval_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_smul PolynomialModule.eval_smulₓ'. -/
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
   by
@@ -329,9 +281,6 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
       smul_smul, pow_add, mul_smul]
 #align polynomial_module.eval_smul PolynomialModule.eval_smul
 
-/- warning: polynomial_module.eval_map -> PolynomialModule.eval_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     eval (algebraMap R R' r) (map R' f q) = f (eval r q) :=
@@ -343,9 +292,6 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     rw [map_single, eval_single, eval_single, f.map_smul, ← map_pow, algebraMap_smul]
 #align polynomial_module.eval_map PolynomialModule.eval_map
 
-/- warning: polynomial_module.eval_map' -> PolynomialModule.eval_map' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map' PolynomialModule.eval_map'ₓ'. -/
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
     eval r (map R f q) = f (eval r q) :=
@@ -360,9 +306,6 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
 #align polynomial_module.comp PolynomialModule.comp
 -/
 
-/- warning: polynomial_module.comp_single -> PolynomialModule.comp_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_single PolynomialModule.comp_singleₓ'. -/
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
   rw [comp_apply]
@@ -370,9 +313,6 @@ theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i
   rfl
 #align polynomial_module.comp_single PolynomialModule.comp_single
 
-/- warning: polynomial_module.comp_eval -> PolynomialModule.comp_eval is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_eval PolynomialModule.comp_evalₓ'. -/
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
   by
@@ -385,9 +325,6 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
       Polynomial.eval_pow]
 #align polynomial_module.comp_eval PolynomialModule.comp_eval
 
-/- warning: polynomial_module.comp_smul -> PolynomialModule.comp_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_smul PolynomialModule.comp_smulₓ'. -/
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
   by
Diff
@@ -174,16 +174,13 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
   induction' g using PolynomialModule.induction_linear with p q hp hq
   · simp only [smul_zero, Finsupp.zero_apply, if_t_t]
   · simp only [smul_add, Finsupp.add_apply, hp, hq]
-    split_ifs
-    exacts[rfl, zero_add 0]
+    split_ifs; exacts[rfl, zero_add 0]
   · rw [monomial_smul_single, single_apply, single_apply, smul_ite, smul_zero, ← ite_and]
     congr
     rw [eq_iff_iff]
     constructor
-    · rintro rfl
-      simp
-    · rintro ⟨e, rfl⟩
-      rw [add_comm, tsub_add_cancel_of_le e]
+    · rintro rfl; simp
+    · rintro ⟨e, rfl⟩; rw [add_comm, tsub_add_cancel_of_le e]
 #align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_apply
 
 /- warning: polynomial_module.smul_single_apply -> PolynomialModule.smul_single_apply is a dubious translation:
@@ -195,15 +192,11 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
   by
   induction' f using Polynomial.induction_on' with p q hp hq
   · rw [add_smul, Finsupp.add_apply, hp, hq, coeff_add, add_smul]
-    split_ifs
-    exacts[rfl, zero_add 0]
+    split_ifs; exacts[rfl, zero_add 0]
   · rw [monomial_smul_single, single_apply, coeff_monomial, ite_smul, zero_smul]
     by_cases h : i ≤ n
     · simp_rw [eq_tsub_iff_add_eq_of_le h, if_pos h]
-    · rw [if_neg h, ite_eq_right_iff]
-      intro e
-      exfalso
-      linarith
+    · rw [if_neg h, ite_eq_right_iff]; intro e; exfalso; linarith
 #align polynomial_module.smul_single_apply PolynomialModule.smul_single_apply
 
 /- warning: polynomial_module.smul_apply -> PolynomialModule.smul_apply is a dubious translation:
@@ -280,12 +273,10 @@ theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
   by
   apply induction_linear q
   · rw [smul_zero, map_zero, smul_zero]
-  · intro f g e₁ e₂
-    rw [smul_add, map_add, e₁, e₂, map_add, smul_add]
+  · intro f g e₁ e₂; rw [smul_add, map_add, e₁, e₂, map_add, smul_add]
   intro i m
   apply Polynomial.induction_on' p
-  · intro p q e₁ e₂
-    rw [add_smul, map_add, e₁, e₂, Polynomial.map_add, add_smul]
+  · intro p q e₁ e₂; rw [add_smul, map_add, e₁, e₂, Polynomial.map_add, add_smul]
   · intro j s
     rw [monomial_smul_single, map_single, Polynomial.map_monomial, map_single, monomial_smul_single,
       f.map_smul, algebraMap_smul]
@@ -301,8 +292,7 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
   map_smul' s m := by
     refine' (Finsupp.sum_smul_index' _).trans _
     · exact fun i => smul_zero _
-    · simp_rw [← smul_comm s, ← Finsupp.smul_sum]
-      rfl
+    · simp_rw [← smul_comm s, ← Finsupp.smul_sum]; rfl
 #align polynomial_module.eval PolynomialModule.eval
 -/
 
@@ -330,12 +320,10 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
   by
   apply induction_linear q
   · rw [smul_zero, map_zero, smul_zero]
-  · intro f g e₁ e₂
-    rw [smul_add, map_add, e₁, e₂, map_add, smul_add]
+  · intro f g e₁ e₂; rw [smul_add, map_add, e₁, e₂, map_add, smul_add]
   intro i m
   apply Polynomial.induction_on' p
-  · intro p q e₁ e₂
-    rw [add_smul, map_add, Polynomial.eval_add, e₁, e₂, add_smul]
+  · intro p q e₁ e₂; rw [add_smul, map_add, Polynomial.eval_add, e₁, e₂, add_smul]
   · intro j s
     rw [monomial_smul_single, eval_single, Polynomial.eval_monomial, eval_single, smul_comm, ←
       smul_smul, pow_add, mul_smul]
@@ -350,8 +338,7 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
   by
   apply induction_linear q
   · simp_rw [map_zero]
-  · intro f g e₁ e₂
-    simp_rw [map_add, e₁, e₂]
+  · intro f g e₁ e₂; simp_rw [map_add, e₁, e₂]
   · intro i m
     rw [map_single, eval_single, eval_single, f.map_smul, ← map_pow, algebraMap_smul]
 #align polynomial_module.eval_map PolynomialModule.eval_map
@@ -392,8 +379,7 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
   rw [← LinearMap.comp_apply]
   apply induction_linear q
   · rw [map_zero, map_zero]
-  · intro _ _ e₁ e₂
-    rw [map_add, map_add, e₁, e₂]
+  · intro _ _ e₁ e₂; rw [map_add, map_add, e₁, e₂]
   · intro i m
     rw [LinearMap.comp_apply, comp_single, eval_single, eval_smul, eval_single, pow_zero, one_smul,
       Polynomial.eval_pow]
Diff
@@ -84,10 +84,7 @@ noncomputable def single (i : ℕ) : M →+ PolynomialModule R M :=
 -/
 
 /- warning: polynomial_module.single_apply -> PolynomialModule.single_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.single_apply PolynomialModule.single_applyₓ'. -/
 theorem single_apply (i : ℕ) (m : M) (n : ℕ) : single R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
@@ -111,10 +108,7 @@ theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n
 #align polynomial_module.lsingle_apply PolynomialModule.lsingle_apply
 
 /- warning: polynomial_module.single_smul -> PolynomialModule.single_smul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m)) (SMul.smul.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))))))) r (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (HSMul.hSMul.{u1, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)))))) r (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.single_smul PolynomialModule.single_smulₓ'. -/
 theorem single_smul (i : ℕ) (r : R) (m : M) : single R i (r • m) = r • single R i m :=
   (lsingle R i).map_smul r m
@@ -123,10 +117,7 @@ theorem single_smul (i : ℕ) (r : R) (m : M) : single R i (r • m) = r • sin
 variable {R}
 
 /- warning: polynomial_module.induction_linear -> PolynomialModule.induction_linear is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {P : (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (OfNat.mk.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (Zero.zero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))))) -> (forall (f : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u2, u2, u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {P : (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) 0 (Zero.toOfNat0.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))))) -> (forall (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.induction_linear PolynomialModule.induction_linearₓ'. -/
 theorem induction_linear {P : PolynomialModule R M → Prop} (f : PolynomialModule R M) (h0 : P 0)
     (hadd : ∀ f g, P f → P g → P (f + g)) (hsingle : ∀ a b, P (single R a b)) : P f :=
@@ -156,10 +147,7 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 -/
 
 /- warning: polynomial_module.monomial_smul_single -> PolynomialModule.monomial_smul_single is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i j)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_singleₓ'. -/
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
@@ -177,10 +165,7 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
 #align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_single
 
 /- warning: polynomial_module.monomial_smul_apply -> PolynomialModule.monomial_smul_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) g) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i))) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_applyₓ'. -/
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
@@ -202,10 +187,7 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
 #align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_apply
 
 /- warning: polynomial_module.smul_single_apply -> PolynomialModule.smul_single_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) f (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i)) m) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (f : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (m : M) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u1} M (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) m) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_single_apply PolynomialModule.smul_single_applyₓ'. -/
 @[simp]
 theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
@@ -225,10 +207,7 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
 #align polynomial_module.smul_single_apply PolynomialModule.smul_single_apply
 
 /- warning: polynomial_module.smul_apply -> PolynomialModule.smul_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) f g) n) (Finset.sum.{u2, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (Prod.snd.{0, 0} Nat Nat x))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f g) n) (Finset.sum.{u1, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (Prod.snd.{0, 0} Nat Nat x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_apply PolynomialModule.smul_applyₓ'. -/
 theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     (f • g) n = ∑ x in Finset.Nat.antidiagonal n, f.coeff x.1 • g x.2 :=
@@ -286,10 +265,7 @@ noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] Poly
 #align polynomial_module.map PolynomialModule.map
 
 /- warning: polynomial_module.map_single -> PolynomialModule.map_single is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (i : Nat) (m : M), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (coeFn.{succ u4, succ u4} (AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (fun (_x : AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) => M' -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddMonoidHom.hasCoeToFun.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (PolynomialModule.single.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 i) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f m))
-but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_12 f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_single PolynomialModule.map_singleₓ'. -/
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
@@ -297,10 +273,7 @@ theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i
 #align polynomial_module.map_single PolynomialModule.map_single
 
 /- warning: polynomial_module.map_smul -> PolynomialModule.map_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SMulZeroClass.toHasSmul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (SMulWithZero.toSmulZeroClass.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (MulZeroClass.toHasZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MulZeroOneClass.toMulZeroClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MonoidWithZero.toMulZeroOneClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (MulActionWithZero.toSMulWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Module.toMulActionWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Polynomial.map.{u1, u3} R R' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) p) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q))
-but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_smul PolynomialModule.map_smulₓ'. -/
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
@@ -334,10 +307,7 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
 -/
 
 /- warning: polynomial_module.eval_single -> PolynomialModule.eval_single is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_single PolynomialModule.eval_singleₓ'. -/
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
@@ -345,10 +315,7 @@ theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i 
 #align polynomial_module.eval_single PolynomialModule.eval_single
 
 /- warning: polynomial_module.eval_lsingle -> PolynomialModule.eval_lsingle is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_lsingle PolynomialModule.eval_lsingleₓ'. -/
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
@@ -356,10 +323,7 @@ theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i
 #align polynomial_module.eval_lsingle PolynomialModule.eval_lsingle
 
 /- warning: polynomial_module.eval_smul -> PolynomialModule.eval_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_smul PolynomialModule.eval_smulₓ'. -/
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
@@ -378,10 +342,7 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
 #align polynomial_module.eval_smul PolynomialModule.eval_smul
 
 /- warning: polynomial_module.eval_map -> PolynomialModule.eval_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u4} M' (coeFn.{succ u4, succ u4} (LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) (fun (_x : LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) => (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) -> M') (LinearMap.hasCoeToFun.{u3, u3, u4, u4} R' R' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10 (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (PolynomialModule.eval.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (fun (_x : RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) => R -> R') (RingHom.hasCoeToFun.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) r)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
-but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
@@ -396,10 +357,7 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
 #align polynomial_module.eval_map PolynomialModule.eval_map
 
 /- warning: polynomial_module.eval_map' -> PolynomialModule.eval_map' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) f) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map' PolynomialModule.eval_map'ₓ'. -/
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
@@ -416,10 +374,7 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
 -/
 
 /- warning: polynomial_module.comp_single -> PolynomialModule.comp_single is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (i : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.ring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) p i) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) m))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_single PolynomialModule.comp_singleₓ'. -/
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
@@ -429,10 +384,7 @@ theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i
 #align polynomial_module.comp_single PolynomialModule.comp_single
 
 /- warning: polynomial_module.comp_eval -> PolynomialModule.comp_eval is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p)) q)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p)) q)
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_eval PolynomialModule.comp_evalₓ'. -/
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
@@ -448,10 +400,7 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
 #align polynomial_module.comp_eval PolynomialModule.comp_eval
 
 /- warning: polynomial_module.comp_smul -> PolynomialModule.comp_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (p' : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p' q)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Polynomial.comp.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p' p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (p' : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
+<too large>
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_smul PolynomialModule.comp_smulₓ'. -/
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
Diff
@@ -104,7 +104,7 @@ noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.lsingle_apply PolynomialModule.lsingle_applyₓ'. -/
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
@@ -159,7 +159,7 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i j)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_singleₓ'. -/
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
@@ -180,7 +180,7 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) g) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i))) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_applyₓ'. -/
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
@@ -289,7 +289,7 @@ noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] Poly
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (i : Nat) (m : M), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (coeFn.{succ u4, succ u4} (AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (fun (_x : AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) => M' -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddMonoidHom.hasCoeToFun.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (PolynomialModule.single.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 i) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f m))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_12 f))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_12 f))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_single PolynomialModule.map_singleₓ'. -/
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
@@ -300,7 +300,7 @@ theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SMulZeroClass.toHasSmul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (SMulWithZero.toSmulZeroClass.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (MulZeroClass.toHasZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MulZeroOneClass.toMulZeroClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MonoidWithZero.toMulZeroOneClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (MulActionWithZero.toSMulWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Module.toMulActionWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Polynomial.map.{u1, u3} R R' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) p) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_smul PolynomialModule.map_smulₓ'. -/
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
@@ -337,7 +337,7 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_single PolynomialModule.eval_singleₓ'. -/
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
@@ -348,7 +348,7 @@ theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_lsingle PolynomialModule.eval_lsingleₓ'. -/
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
@@ -359,7 +359,7 @@ theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_smul PolynomialModule.eval_smulₓ'. -/
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
@@ -381,7 +381,7 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u4} M' (coeFn.{succ u4, succ u4} (LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) (fun (_x : LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) => (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) -> M') (LinearMap.hasCoeToFun.{u3, u3, u4, u4} R' R' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10 (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (PolynomialModule.eval.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (fun (_x : RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) => R -> R') (RingHom.hasCoeToFun.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) r)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
@@ -399,7 +399,7 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) f) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map' PolynomialModule.eval_map'ₓ'. -/
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
@@ -419,7 +419,7 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (i : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.ring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) p i) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) m))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_single PolynomialModule.comp_singleₓ'. -/
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
@@ -432,7 +432,7 @@ theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p)) q)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p)) q)
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p)) q)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_eval PolynomialModule.comp_evalₓ'. -/
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
@@ -451,7 +451,7 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (p' : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p' q)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Polynomial.comp.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p' p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (p' : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (p' : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_smul PolynomialModule.comp_smulₓ'. -/
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
Diff
@@ -381,7 +381,7 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u4} M' (coeFn.{succ u4, succ u4} (LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) (fun (_x : LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) => (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) -> M') (LinearMap.hasCoeToFun.{u3, u3, u4, u4} R' R' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10 (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (PolynomialModule.eval.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (fun (_x : RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) => R -> R') (RingHom.hasCoeToFun.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) r)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
Diff
@@ -104,7 +104,7 @@ noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.lsingle_apply PolynomialModule.lsingle_applyₓ'. -/
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
@@ -159,7 +159,7 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i j)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_singleₓ'. -/
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
@@ -180,7 +180,7 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) g) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i))) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_applyₓ'. -/
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
@@ -289,7 +289,7 @@ noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] Poly
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (i : Nat) (m : M), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (coeFn.{succ u4, succ u4} (AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (fun (_x : AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) => M' -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddMonoidHom.hasCoeToFun.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (PolynomialModule.single.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 i) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f m))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_12 f))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_12 f))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_single PolynomialModule.map_singleₓ'. -/
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
@@ -300,7 +300,7 @@ theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SMulZeroClass.toHasSmul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (SMulWithZero.toSmulZeroClass.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (MulZeroClass.toHasZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MulZeroOneClass.toMulZeroClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MonoidWithZero.toMulZeroOneClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (MulActionWithZero.toSMulWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Module.toMulActionWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Polynomial.map.{u1, u3} R R' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) p) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_smul PolynomialModule.map_smulₓ'. -/
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
@@ -337,7 +337,7 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_single PolynomialModule.eval_singleₓ'. -/
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
@@ -348,7 +348,7 @@ theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_lsingle PolynomialModule.eval_lsingleₓ'. -/
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
@@ -359,7 +359,7 @@ theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_smul PolynomialModule.eval_smulₓ'. -/
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
@@ -381,7 +381,7 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u4} M' (coeFn.{succ u4, succ u4} (LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) (fun (_x : LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) => (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) -> M') (LinearMap.hasCoeToFun.{u3, u3, u4, u4} R' R' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10 (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (PolynomialModule.eval.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (fun (_x : RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) => R -> R') (RingHom.hasCoeToFun.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) r)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
@@ -399,7 +399,7 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) f) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map' PolynomialModule.eval_map'ₓ'. -/
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
@@ -419,7 +419,7 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (i : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.ring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) p i) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) m))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_single PolynomialModule.comp_singleₓ'. -/
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
@@ -432,7 +432,7 @@ theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p)) q)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p)) q)
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p)) q)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_eval PolynomialModule.comp_evalₓ'. -/
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
@@ -451,7 +451,7 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (p' : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p' q)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Polynomial.comp.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p' p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (p' : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (p' : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_smul PolynomialModule.comp_smulₓ'. -/
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
Diff
@@ -87,7 +87,7 @@ noncomputable def single (i : ℕ) : M →+ PolynomialModule R M :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.single_apply PolynomialModule.single_applyₓ'. -/
 theorem single_apply (i : ℕ) (m : M) (n : ℕ) : single R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
@@ -104,7 +104,7 @@ noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.lsingle_apply PolynomialModule.lsingle_applyₓ'. -/
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
@@ -114,7 +114,7 @@ theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m)) (SMul.smul.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))))))) r (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (HSMul.hSMul.{u1, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)))))) r (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (HSMul.hSMul.{u1, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)))))) r (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.single_smul PolynomialModule.single_smulₓ'. -/
 theorem single_smul (i : ℕ) (r : R) (m : M) : single R i (r • m) = r • single R i m :=
   (lsingle R i).map_smul r m
@@ -126,7 +126,7 @@ variable {R}
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {P : (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (OfNat.mk.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (Zero.zero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))))) -> (forall (f : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u2, u2, u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {P : (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) 0 (Zero.toOfNat0.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))))) -> (forall (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {P : (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) 0 (Zero.toOfNat0.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))))) -> (forall (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.induction_linear PolynomialModule.induction_linearₓ'. -/
 theorem induction_linear {P : PolynomialModule R M → Prop} (f : PolynomialModule R M) (h0 : P 0)
     (hadd : ∀ f g, P f → P g → P (f + g)) (hsingle : ∀ a b, P (single R a b)) : P f :=
@@ -159,7 +159,7 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i j)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_singleₓ'. -/
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
@@ -180,7 +180,7 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) g) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i))) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) R (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_applyₓ'. -/
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
@@ -205,7 +205,7 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) f (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i)) m) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (f : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (m : M) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u1} M (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) m) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (f : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (m : M) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u1} M (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) m) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_single_apply PolynomialModule.smul_single_applyₓ'. -/
 @[simp]
 theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
@@ -228,7 +228,7 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) f g) n) (Finset.sum.{u2, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (Prod.snd.{0, 0} Nat Nat x))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f g) n) (Finset.sum.{u1, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (Prod.snd.{0, 0} Nat Nat x))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f g) n) (Finset.sum.{u1, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (Prod.snd.{0, 0} Nat Nat x))))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_apply PolynomialModule.smul_applyₓ'. -/
 theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     (f • g) n = ∑ x in Finset.Nat.antidiagonal n, f.coeff x.1 • g x.2 :=
@@ -278,7 +278,7 @@ variable [Algebra R R'] [Module R M'] [IsScalarTower R R' M']
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))], (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) -> (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)], (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_11) -> (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (CommSemiring.toSemiring.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Module.{u1, u4} R M' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)], (LinearMap.{u1, u1, u2, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_11) -> (LinearMap.{u1, u1, u2, u4} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map PolynomialModule.mapₓ'. -/
 /-- The image of a polynomial under a linear map. -/
 noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] PolynomialModule R' M' :=
@@ -289,7 +289,7 @@ noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] Poly
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (i : Nat) (m : M), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (coeFn.{succ u4, succ u4} (AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (fun (_x : AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) => M' -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddMonoidHom.hasCoeToFun.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (PolynomialModule.single.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 i) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f m))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _inst_12 f))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _inst_12 f))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_single PolynomialModule.map_singleₓ'. -/
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
@@ -300,7 +300,7 @@ theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SMulZeroClass.toHasSmul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (SMulWithZero.toSmulZeroClass.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (MulZeroClass.toHasZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MulZeroOneClass.toMulZeroClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MonoidWithZero.toMulZeroOneClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (MulActionWithZero.toSMulWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Module.toMulActionWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Polynomial.map.{u1, u3} R R' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) p) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.map_smul PolynomialModule.map_smulₓ'. -/
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
@@ -337,7 +337,7 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) r i) m)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_single PolynomialModule.eval_singleₓ'. -/
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
@@ -348,7 +348,7 @@ theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) r i) m)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) r i) m)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_lsingle PolynomialModule.eval_lsingleₓ'. -/
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
@@ -359,7 +359,7 @@ theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_smul PolynomialModule.eval_smulₓ'. -/
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
@@ -381,7 +381,7 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u4} M' (coeFn.{succ u4, succ u4} (LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) (fun (_x : LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) => (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) -> M') (LinearMap.hasCoeToFun.{u3, u3, u4, u4} R' R' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10 (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (PolynomialModule.eval.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (fun (_x : RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) => R -> R') (RingHom.hasCoeToFun.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) r)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (NonAssocRing.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (NonAssocRing.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Semiring.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
@@ -399,7 +399,7 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) f) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map' PolynomialModule.eval_map'ₓ'. -/
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
@@ -419,7 +419,7 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (i : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.ring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) p i) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) m))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_single PolynomialModule.comp_singleₓ'. -/
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
@@ -432,7 +432,7 @@ theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p)) q)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) r p)) q)
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) r p)) q)
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_eval PolynomialModule.comp_evalₓ'. -/
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
@@ -451,7 +451,7 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (p' : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p' q)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Polynomial.comp.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p' p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (p' : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (p' : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
 Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_smul PolynomialModule.comp_smulₓ'. -/
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 
 ! This file was ported from Lean 3 source module data.polynomial.module
-! leanprover-community/mathlib commit 63417e01fbc711beaf25fa73b6edb395c0cfddd0
+! leanprover-community/mathlib commit 4f81bc21e32048db7344b7867946e992cf5f68cc
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.RingTheory.FiniteType
 /-!
 # Polynomial module
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file, we define the polynomial module for an `R`-module `M`, i.e. the `R[X]`-module `M[X]`.
 
 This is defined as an type alias `polynomial_module R M := ℕ →₀ M`, since there might be different
Diff
@@ -31,6 +31,7 @@ variable (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
 
 include R
 
+#print PolynomialModule /-
 /-- The `R[X]`-module `M[X]` for an `R`-module `M`.
 This is isomorphic (as an `R`-module) to `M[X]` when `M` is a ring.
 
@@ -53,6 +54,7 @@ for the full discussion.
 def PolynomialModule :=
   ℕ →₀ M deriving AddCommGroup, Inhabited
 #align polynomial_module PolynomialModule
+-/
 
 omit R
 
@@ -70,54 +72,92 @@ noncomputable instance : Module S (PolynomialModule R M) :=
 instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M :=
   Finsupp.coeFun
 
+#print PolynomialModule.single /-
 /-- The monomial `m * x ^ i`. This is defeq to `finsupp.single_add_hom`, and is redefined here
 so that it has the desired type signature.  -/
 noncomputable def single (i : ℕ) : M →+ PolynomialModule R M :=
   Finsupp.singleAddHom i
 #align polynomial_module.single PolynomialModule.single
+-/
 
+/- warning: polynomial_module.single_apply -> PolynomialModule.single_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
+but is expected to have type
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.single_apply PolynomialModule.single_applyₓ'. -/
 theorem single_apply (i : ℕ) (m : M) (n : ℕ) : single R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.single_apply PolynomialModule.single_apply
 
+#print PolynomialModule.lsingle /-
 /-- `polynomial_module.single` as a linear map. -/
 noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
   Finsupp.lsingle i
 #align polynomial_module.lsingle PolynomialModule.lsingle
+-/
 
+/- warning: polynomial_module.lsingle_apply -> PolynomialModule.lsingle_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (Nat.decidableEq i n) m (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
+but is expected to have type
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (m : M) (n : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u2, 1, succ u2} (Finsupp.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u2} Nat M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m) n) (ite.{succ u2} M (Eq.{1} Nat i n) (instDecidableEqNat i n) m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.lsingle_apply PolynomialModule.lsingle_applyₓ'. -/
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.lsingle_apply PolynomialModule.lsingle_apply
 
+/- warning: polynomial_module.single_smul -> PolynomialModule.single_smul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m)) (SMul.smul.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))))))) r (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
+but is expected to have type
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m)) (HSMul.hSMul.{u1, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)))))) r (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.single_smul PolynomialModule.single_smulₓ'. -/
 theorem single_smul (i : ℕ) (r : R) (m : M) : single R i (r • m) = r • single R i m :=
   (lsingle R i).map_smul r m
 #align polynomial_module.single_smul PolynomialModule.single_smul
 
 variable {R}
 
+/- warning: polynomial_module.induction_linear -> PolynomialModule.induction_linear is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {P : (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (OfNat.mk.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) 0 (Zero.zero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))))) -> (forall (f : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u2, u2, u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] {P : (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) -> Prop} (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P (OfNat.ofNat.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) 0 (Zero.toOfNat0.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))))) -> (forall (f : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), (P f) -> (P g) -> (P (HAdd.hAdd.{u1, u1, u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))))) f g))) -> (forall (a : Nat) (b : M), P (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 a) b)) -> (P f)
+Case conversion may be inaccurate. Consider using '#align polynomial_module.induction_linear PolynomialModule.induction_linearₓ'. -/
 theorem induction_linear {P : PolynomialModule R M → Prop} (f : PolynomialModule R M) (h0 : P 0)
     (hadd : ∀ f g, P f → P g → P (f + g)) (hsingle : ∀ a b, P (single R a b)) : P f :=
   Finsupp.induction_linear f h0 hadd hsingle
 #align polynomial_module.induction_linear PolynomialModule.induction_linear
 
+#print PolynomialModule.polynomialModule /-
 @[semireducible]
 noncomputable instance polynomialModule : Module R[X] (PolynomialModule R M) :=
   modulePolynomialOfEndo (Finsupp.lmapDomain _ _ Nat.succ)
 #align polynomial_module.polynomial_module PolynomialModule.polynomialModule
+-/
 
 instance (M : Type u) [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower S R M] :
     IsScalarTower S R (PolynomialModule R M) :=
   Finsupp.isScalarTower _ _
 
-instance is_scalar_tower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
+#print PolynomialModule.isScalarTower' /-
+instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
     [IsScalarTower S R M] : IsScalarTower S R[X] (PolynomialModule R M) :=
   by
   haveI : IsScalarTower R R[X] (PolynomialModule R M) := modulePolynomialOfEndo.isScalarTower _
   constructor
   intro x y z
   rw [← @IsScalarTower.algebraMap_smul S R, ← @IsScalarTower.algebraMap_smul S R, smul_assoc]
-#align polynomial_module.is_scalar_tower' PolynomialModule.is_scalar_tower'
+#align polynomial_module.is_scalar_tower' PolynomialModule.isScalarTower'
+-/
 
+/- warning: polynomial_module.monomial_smul_single -> PolynomialModule.monomial_smul_single is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) i j)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r m))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (j : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (HSMul.hSMul.{u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u1, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 j) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) i j)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r m))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_singleₓ'. -/
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     monomial i r • single R j m = single R (i + j) (r • m) :=
@@ -133,6 +173,12 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     rw [Finsupp.mapDomain_single, Nat.succ_eq_one_add]
 #align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_single
 
+/- warning: polynomial_module.monomial_smul_apply -> PolynomialModule.monomial_smul_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (coeFn.{succ u1, succ u1} (LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearMap.{u1, u1, u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => R -> (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.hasCoeToFun.{u1, u1, u1, u1} R R R (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.module.{u1, u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.monomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) i) r) g) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i))) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (r : R) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) r) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u2, u2, u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) R (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u2} R R R (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.module.{u2, u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Polynomial.monomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) i) r) g) n) (ite.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2) _inst_3))))) r (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_applyₓ'. -/
 @[simp]
 theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : ℕ) :
     (monomial i r • g) n = ite (i ≤ n) (r • g (n - i)) 0 :=
@@ -152,6 +198,12 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
       rw [add_comm, tsub_add_cancel_of_le e]
 #align polynomial_module.monomial_smul_apply PolynomialModule.monomial_smul_apply
 
+/- warning: polynomial_module.smul_single_apply -> PolynomialModule.smul_single_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (i : Nat) (f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (m : M) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) f (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u2} M (LE.le.{0} Nat Nat.hasLe i n) (Nat.decidableLe i n) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) n i)) m) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (i : Nat) (f : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (m : M) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) n) (ite.{succ u1} M (LE.le.{0} Nat instLENat i n) (Nat.decLe i n) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) f (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) n i)) m) (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_single_apply PolynomialModule.smul_single_applyₓ'. -/
 @[simp]
 theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
     (f • single R i m) n = ite (i ≤ n) (f.coeff (n - i) • m) 0 :=
@@ -169,6 +221,12 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
       linarith
 #align polynomial_module.smul_single_apply PolynomialModule.smul_single_apply
 
+/- warning: polynomial_module.smul_apply -> PolynomialModule.smul_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (g : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) f g) n) (Finset.sum.{u2, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (coeFn.{succ u2, succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => Nat -> M) (PolynomialModule.hasCoeToFun.{u1, u2} R M _inst_1 _inst_2 _inst_3) g (Prod.snd.{0, 0} Nat Nat x))))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (g : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (n : Nat), Eq.{succ u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) n) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) f g) n) (Finset.sum.{u1, 0} M (Prod.{0, 0} Nat Nat) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (Finset.Nat.antidiagonal n) (fun (x : Prod.{0, 0} Nat Nat) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) (Prod.snd.{0, 0} Nat Nat x)) _inst_2) _inst_3))))) (Polynomial.coeff.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) f (Prod.fst.{0, 0} Nat Nat x)) (FunLike.coe.{succ u1, 1, succ u1} (Finsupp.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Nat) => M) _x) (Finsupp.funLike.{0, u1} Nat M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2)))))) g (Prod.snd.{0, 0} Nat Nat x))))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.smul_apply PolynomialModule.smul_applyₓ'. -/
 theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     (f • g) n = ∑ x in Finset.Nat.antidiagonal n, f.coeff x.1 • g x.2 :=
   by
@@ -185,6 +243,7 @@ theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     simp [Nat.lt_succ_iff]
 #align polynomial_module.smul_apply PolynomialModule.smul_apply
 
+#print PolynomialModule.equivPolynomialSelf /-
 /-- `polynomial_module R R` is isomorphic to `R[X]` as an `R[X]` module. -/
 noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :=
   { (Polynomial.toFinsuppIso R).symm with
@@ -198,27 +257,48 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
           Polynomial.coeff_C_mul, Polynomial.coeff_X_pow_mul', mul_ite, MulZeroClass.mul_zero]
         simp }
 #align polynomial_module.equiv_polynomial_self PolynomialModule.equivPolynomialSelf
+-/
 
+#print PolynomialModule.equivPolynomial /-
 /-- `polynomial_module R S` is isomorphic to `S[X]` as an `R` module. -/
 noncomputable def equivPolynomial {S : Type _} [CommRing S] [Algebra R S] :
     PolynomialModule R S ≃ₗ[R] S[X] :=
   { (Polynomial.toFinsuppIso S).symm with map_smul' := fun r x => rfl }
 #align polynomial_module.equiv_polynomial PolynomialModule.equivPolynomial
+-/
 
 variable (R' : Type _) {M' : Type _} [CommRing R'] [AddCommGroup M'] [Module R' M']
 
 variable [Algebra R R'] [Module R M'] [IsScalarTower R R' M']
 
+/- warning: polynomial_module.map -> PolynomialModule.map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))], (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) -> (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)], (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_11) -> (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.map PolynomialModule.mapₓ'. -/
 /-- The image of a polynomial under a linear map. -/
 noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] PolynomialModule R' M' :=
   Finsupp.mapRange.linearMap f
 #align polynomial_module.map PolynomialModule.map
 
+/- warning: polynomial_module.map_single -> PolynomialModule.map_single is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (i : Nat) (m : M), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (coeFn.{succ u4, succ u4} (AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (fun (_x : AddMonoidHom.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) => M' -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddMonoidHom.hasCoeToFun.{u4, u4} M' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} M' (SubNegMonoid.toAddMonoid.{u4} M' (AddGroup.toSubNegMonoid.{u4} M' (AddCommGroup.toAddGroup.{u4} M' _inst_9)))) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)))))) (PolynomialModule.single.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 i) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f m))
+but is expected to have type
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] (_inst_12 : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) (_inst_13 : Nat) (f : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_11) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12) (FunLike.coe.{succ u3, succ u3, succ u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2))))) (AddZeroClass.toAdd.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u3, u3, u3} (AddMonoidHom.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u3, u3} M (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u3} M (SubNegMonoid.toAddMonoid.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_2)))) (AddMonoid.toAddZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u4, u3} R M _inst_1 _inst_2 _inst_3 _inst_13) f)) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (fun (a : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) => PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddZeroClass.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (SubNegMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_9)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10)))))))) (PolynomialModule.single.{u1, u2} R' ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') f) _inst_8 _inst_9 _inst_10 _inst_13) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_11 (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _inst_12 f))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.map_single PolynomialModule.map_singleₓ'. -/
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
   Finsupp.mapRange_single
 #align polynomial_module.map_single PolynomialModule.map_single
 
+/- warning: polynomial_module.map_smul -> PolynomialModule.map_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (SMulZeroClass.toHasSmul.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (SMulWithZero.toSmulZeroClass.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (MulZeroClass.toHasZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MulZeroOneClass.toMulZeroClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (MonoidWithZero.toMulZeroOneClass.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (MulActionWithZero.toSMulWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Semiring.toMonoidWithZero.{u3} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (AddZeroClass.toHasZero.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddMonoid.toAddZeroClass.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommMonoid.toAddMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Module.toMulActionWithZero.{u3, u4} (Polynomial.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Polynomial.semiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10))))) (Polynomial.map.{u1, u3} R R' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) p) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q))
+but is expected to have type
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (p : Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) (HSMul.hSMul.{u4, u3, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u4} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u4, u3} (Polynomial.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u1, u2, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instHSMul.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SMulZeroClass.toSMul.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (SMulWithZero.toSMulZeroClass.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.zero.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (Polynomial.semiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (Polynomial.semiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (AddCommGroup.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) q) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.polynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)))))) (Polynomial.map.{u4, u1} R R' (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) p) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.map_smul PolynomialModule.map_smulₓ'. -/
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q :=
   by
@@ -235,6 +315,7 @@ theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
       f.map_smul, algebraMap_smul]
 #align polynomial_module.map_smul PolynomialModule.map_smul
 
+#print PolynomialModule.eval /-
 /-- Evaulate a polynomial `p : polynomial_module R M` at `r : R`. -/
 @[simps (config := lemmasOnly)]
 def eval (r : R) : PolynomialModule R M →ₗ[R] M
@@ -247,17 +328,36 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M
     · simp_rw [← smul_comm s, ← Finsupp.smul_sum]
       rfl
 #align polynomial_module.eval PolynomialModule.eval
+-/
 
+/- warning: polynomial_module.eval_single -> PolynomialModule.eval_single is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))))) (AddZeroClass.toAdd.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u2, u2, u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) r i) m)
+Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_single PolynomialModule.eval_singleₓ'. -/
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
   Finsupp.sum_single_index (smul_zero _)
 #align polynomial_module.eval_single PolynomialModule.eval_single
 
+/- warning: polynomial_module.eval_lsingle -> PolynomialModule.eval_lsingle is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.lsingle._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r i) m)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (r : R) (i : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_3) (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.lsingle.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) r i) m)
+Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_lsingle PolynomialModule.eval_lsingleₓ'. -/
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
   eval_single r i m
 #align polynomial_module.eval_lsingle PolynomialModule.eval_lsingle
 
+/- warning: polynomial_module.eval_smul -> PolynomialModule.eval_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p q)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p q)) (HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SMulZeroClass.toSMul.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2))))) (Module.toMulActionWithZero.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) q) _inst_2) _inst_3))))) (Polynomial.eval.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) r p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_smul PolynomialModule.eval_smulₓ'. -/
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q :=
   by
@@ -274,6 +374,12 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
       smul_smul, pow_add, mul_smul]
 #align polynomial_module.eval_smul PolynomialModule.eval_smul
 
+/- warning: polynomial_module.eval_map -> PolynomialModule.eval_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (R' : Type.{u3}) {M' : Type.{u4}} [_inst_8 : CommRing.{u3} R'] [_inst_9 : AddCommGroup.{u4} M'] [_inst_10 : Module.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_11 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))] [_inst_12 : Module.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)] [_inst_13 : IsScalarTower.{u1, u3, u4} R R' M' (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} R' M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u3, u4} R' M' (MulZeroClass.toHasZero.{u3} R' (MulZeroOneClass.toMulZeroClass.{u3} R' (MonoidWithZero.toMulZeroOneClass.{u3} R' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u3, u4} R' M' (Semiring.toMonoidWithZero.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u3, u4} R' M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u4} R M' (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M' (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} M' (AddMonoid.toAddZeroClass.{u4} M' (AddCommMonoid.toAddMonoid.{u4} M' (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9)))) (Module.toMulActionWithZero.{u1, u4} R M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_12))))] (f : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u4} M' (coeFn.{succ u4, succ u4} (LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) (fun (_x : LinearMap.{u3, u3, u4, u4} R' R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10) => (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) -> M') (LinearMap.hasCoeToFun.{u3, u3, u4, u4} R' R' (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) (PolynomialModule.module.{u3, u4, u3} R' M' _inst_8 _inst_9 _inst_10 R' (CommRing.toCommSemiring.{u3} R' _inst_8) (Algebra.id.{u3} R' (CommRing.toCommSemiring.{u3} R' _inst_8)) _inst_10 (PolynomialModule.eval._proof_1.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) _inst_10 (RingHom.id.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8))))) (PolynomialModule.eval.{u3, u4} R' M' _inst_8 _inst_9 _inst_10 (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (fun (_x : RingHom.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) => R -> R') (RingHom.hasCoeToFun.{u1, u3} R R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)))) (algebraMap.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_8)) _inst_11) r)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13)) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} (PolynomialModule.{u3, u4} R' M' _inst_8 _inst_9 _inst_10) (PolynomialModule.addCommGroup.{u3, u4} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u3, u4, u1} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_11 _inst_12 _inst_13) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u3, u4} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_11 _inst_12 _inst_13 f) q)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) (fun (_x : LinearMap.{u1, u1, u2, u4} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12) => M -> M') (LinearMap.hasCoeToFun.{u1, u1, u2, u4} R R M M' (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u4} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
+but is expected to have type
+  forall {R : Type.{u4}} {M : Type.{u3}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] (R' : Type.{u1}) {M' : Type.{u2}} [_inst_8 : CommRing.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_11 : Algebra.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))] [_inst_12 : Module.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] [_inst_13 : IsScalarTower.{u4, u1, u2} R R' M' (Algebra.toSMul.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) (SMulZeroClass.toSMul.{u1, u2} R' M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R' M' (CommMonoidWithZero.toZero.{u1} R' (CommSemiring.toCommMonoidWithZero.{u1} R' (CommRing.toCommSemiring.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R' M' (Semiring.toMonoidWithZero.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u1, u2} R' M' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) (SMulZeroClass.toSMul.{u4, u2} R M' (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (SMulWithZero.toSMulZeroClass.{u4, u2} R M' (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (MulActionWithZero.toSMulWithZero.{u4, u2} R M' (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (NegZeroClass.toZero.{u2} M' (SubNegZeroMonoid.toNegZeroClass.{u2} M' (SubtractionMonoid.toSubNegZeroMonoid.{u2} M' (SubtractionCommMonoid.toSubtractionMonoid.{u2} M' (AddCommGroup.toDivisionAddCommMonoid.{u2} M' _inst_9))))) (Module.toMulActionWithZero.{u4, u2} R M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_12))))] (f : LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) (q : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) a) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (NonAssocRing.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)))) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (fun (_x : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) => M') _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) M' (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (Ring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10)) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8) _inst_10) _inst_10 (RingHom.id.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (NonAssocRing.toNonAssocSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) _inst_8))))) (PolynomialModule.eval.{u1, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') r) M' _inst_8 _inst_9 _inst_10 (FunLike.coe.{max (succ u4) (succ u1), succ u4, succ u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => R') _x) (MulHomClass.toFunLike.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R R' (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R' (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u1, u4, u1} (RingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)))) R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))) (RingHom.instRingHomClassRingHom.{u4, u1} R R' (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} R' (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8))))))) (algebraMap.{u4, u1} R R' (CommRing.toCommSemiring.{u4} R _inst_1) (Ring.toSemiring.{u1} R' (CommRing.toRing.{u1} R' _inst_8)) _inst_11) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12)) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10) (instAddCommGroupPolynomialModule.{u1, u2} R' M' _inst_8 _inst_9 _inst_10)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u1, u2, u4} R' M' _inst_8 _inst_9 _inst_10 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_12) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.map.{u4, u3, u1, u2} R M _inst_1 _inst_2 _inst_3 R' M' _inst_8 _inst_9 _inst_10 _inst_12 f) q)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) M M' (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M') _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} R R M M' (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_3 _inst_12 (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) f (FunLike.coe.{succ u3, succ u3, succ u3} (LinearMap.{u4, u4, u3, u3} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u3} R R (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} (PolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u4, u3} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u4, u3, u4} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u4} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u4} R (NonAssocRing.toNonAssocSemiring.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (PolynomialModule.eval.{u4, u3} R M _inst_1 _inst_2 _inst_3 r) q))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map PolynomialModule.eval_mapₓ'. -/
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     eval (algebraMap R R' r) (map R' f q) = f (eval r q) :=
@@ -286,18 +392,32 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     rw [map_single, eval_single, eval_single, f.map_smul, ← map_pow, algebraMap_smul]
 #align polynomial_module.eval_map PolynomialModule.eval_map
 
+/- warning: polynomial_module.eval_map' -> PolynomialModule.eval_map' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (f : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.map._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.map.{u1, u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (IsScalarTower.left.{u1, u2} R M (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) f) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) q))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.map.{u2, u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R M _inst_1 _inst_2 _inst_3 _inst_3 f) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) f (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) q))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.eval_map' PolynomialModule.eval_map'ₓ'. -/
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
     eval r (map R f q) = f (eval r q) :=
   eval_map R f q r
 #align polynomial_module.eval_map' PolynomialModule.eval_map'
 
+#print PolynomialModule.comp /-
 /-- `comp p q` is the composition of `p : R[X]` and `q : M[X]` as `q(p(x))`.  -/
 @[simps]
 noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialModule R M :=
   ((eval p).restrictScalars R).comp (map R[X] (lsingle R 0))
 #align polynomial_module.comp PolynomialModule.comp
+-/
 
+/- warning: polynomial_module.comp_single -> PolynomialModule.comp_single is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (i : Nat) (m : M), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 i) m)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ring.toMonoid.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.ring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) p i) (coeFn.{succ u2, succ u2} (AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (fun (_x : AddMonoidHom.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) => M -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddMonoidHom.hasCoeToFun.{u2, u2} M (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)))))) (PolynomialModule.single.{u1, u2} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) m))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (i : Nat) (m : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 i) m)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) m) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (HPow.hPow.{u2, 0, u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHPow.{u2, 0} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) p i) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2))))) (AddZeroClass.toAdd.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} M (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) (AddMonoid.toAddZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegMonoid.toAddMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddGroup.toSubNegMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddGroup.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))))) (PolynomialModule.single.{u2, u1} R M _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) m))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_single PolynomialModule.comp_singleₓ'. -/
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m :=
   by
   rw [comp_apply]
@@ -305,6 +425,12 @@ theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i
   rfl
 #align polynomial_module.comp_single PolynomialModule.comp_single
 
+/- warning: polynomial_module.comp_eval -> PolynomialModule.comp_eval is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 r) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.eval._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.eval.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) r p)) q)
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (r : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (a : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 r) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) _inst_3 (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.eval.{u2, u1} R M _inst_1 _inst_2 _inst_3 (Polynomial.eval.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) r p)) q)
+Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_eval PolynomialModule.comp_evalₓ'. -/
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q :=
   by
@@ -318,6 +444,12 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
       Polynomial.eval_pow]
 #align polynomial_module.comp_eval PolynomialModule.comp_eval
 
+/- warning: polynomial_module.comp_smul -> PolynomialModule.comp_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (p' : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (q : PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3), Eq.{succ u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) p' q)) (SMul.smul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toHasSmul.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (MulZeroClass.toHasZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MulZeroOneClass.toMulZeroClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u1} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddMonoid.toAddZeroClass.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommMonoid.toAddMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Module.toMulActionWithZero.{u1, u2} (Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3))))) (Polynomial.comp.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p' p) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3))) => (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) -> (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} (PolynomialModule.{u1, u2} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.addCommGroup.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.module.{u1, u2, u1} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u1} R _inst_1) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_3 (PolynomialModule.comp._proof_1.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PolynomialModule.comp.{u1, u2} R M _inst_1 _inst_2 _inst_3 p) q))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] (p : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (p' : Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (q : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubNegZeroMonoid.toNegZeroClass.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionMonoid.toSubNegZeroMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (SubtractionCommMonoid.toSubtractionMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toDivisionAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) p' q)) (HSMul.hSMul.{u2, u1, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instHSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SMulZeroClass.toSMul.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.zero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Semiring.toMonoidWithZero.{u2} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} (Polynomial.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (Polynomial.semiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) q) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.polynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)))))) (Polynomial.comp.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) p' p) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3)) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (fun (_x : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) => PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (AddCommGroup.toAddCommMonoid.{u1} (PolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3) (instAddCommGroupPolynomialModule.{u2, u1} R M _inst_1 _inst_2 _inst_3)) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (PolynomialModule.instModulePolynomialModuleToSemiringToAddCommMonoidInstAddCommGroupPolynomialModule.{u2, u1, u2} R M _inst_1 _inst_2 _inst_3 R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_3) (RingHom.id.{u2} R (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (PolynomialModule.comp.{u2, u1} R M _inst_1 _inst_2 _inst_3 p) q))
+Case conversion may be inaccurate. Consider using '#align polynomial_module.comp_smul PolynomialModule.comp_smulₓ'. -/
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q :=
   by
Diff
@@ -195,7 +195,7 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
       · ext i
         dsimp
         rw [monomial_smul_apply, ← Polynomial.C_mul_X_pow_eq_monomial, mul_assoc,
-          Polynomial.coeff_C_mul, Polynomial.coeff_X_pow_mul', mul_ite, mul_zero]
+          Polynomial.coeff_C_mul, Polynomial.coeff_X_pow_mul', mul_ite, MulZeroClass.mul_zero]
         simp }
 #align polynomial_module.equiv_polynomial_self PolynomialModule.equivPolynomialSelf
 
Diff
@@ -194,8 +194,8 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
       · simp_all only [add_smul, map_add, [anonymous]]
       · ext i
         dsimp
-        rw [monomial_smul_apply, ← Polynomial.c_mul_x_pow_eq_monomial, mul_assoc,
-          Polynomial.coeff_c_mul, Polynomial.coeff_x_pow_mul', mul_ite, mul_zero]
+        rw [monomial_smul_apply, ← Polynomial.C_mul_X_pow_eq_monomial, mul_assoc,
+          Polynomial.coeff_C_mul, Polynomial.coeff_X_pow_mul', mul_ite, mul_zero]
         simp }
 #align polynomial_module.equiv_polynomial_self PolynomialModule.equivPolynomialSelf
 
Diff
@@ -68,7 +68,7 @@ noncomputable instance : Module S (PolynomialModule R M) :=
   Finsupp.module ℕ M
 
 instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M :=
-  Finsupp.hasCoeToFun
+  Finsupp.coeFun
 
 /-- The monomial `m * x ^ i`. This is defeq to `finsupp.single_add_hom`, and is redefined here
 so that it has the desired type signature.  -/

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -385,7 +385,7 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
         single_apply, ge_iff_le, smul_eq_mul, Polynomial.coeff_mul, mul_ite, mul_zero]
         split_ifs with hn
         · rw [Finset.sum_eq_single (i - n, n)]
-          simp only [ite_true]
+          · simp only [ite_true]
           · rintro ⟨p, q⟩ hpq1 hpq2
             rw [Finset.mem_antidiagonal] at hpq1
             split_ifs with H
move(Polynomial): Move out of Data (#11751)

Polynomial and MvPolynomial are algebraic objects, hence should be under Algebra (or at least not under Data)

Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
+import Mathlib.Algebra.Polynomial.AlgebraMap
 import Mathlib.RingTheory.Finiteness
-import Mathlib.Data.Polynomial.AlgebraMap
 
 #align_import data.polynomial.module from "leanprover-community/mathlib"@"63417e01fbc711beaf25fa73b6edb395c0cfddd0"
 
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -97,7 +97,7 @@ def _root_.LinearMap.ofAEval {N} [AddCommMonoid N] [Module R N] [Module R[X] N]
     (fun p q hp hq m ↦ by simp_all [add_smul]) fun n k h m ↦ by
       simp_rw [RingHom.id_apply, AddHom.toFun_eq_coe, LinearMap.coe_toAddHom,
         LinearMap.comp_apply, LinearEquiv.coe_toLinearMap] at h ⊢
-      simp_rw [pow_succ', ← mul_assoc, mul_smul _ X, ← hf, ← of_symm_X_smul, ← h]
+      simp_rw [pow_succ, ← mul_assoc, mul_smul _ X, ← hf, ← of_symm_X_smul, ← h]
 
 lemma annihilator_eq_ker_aeval [FaithfulSMul A M] :
     annihilator R[X] (AEval R M a) = RingHom.ker (aeval a) := by
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -231,7 +231,6 @@ noncomputable instance : Inhabited (PolynomialModule R M) := Finsupp.instInhabit
 noncomputable instance : AddCommGroup (PolynomialModule R M) := Finsupp.instAddCommGroup
 
 variable {M}
-
 variable {S : Type*} [CommSemiring S] [Algebra S R] [Module S M] [IsScalarTower S R M]
 
 namespace PolynomialModule
@@ -416,7 +415,6 @@ noncomputable def equivPolynomial {S : Type*} [CommRing S] [Algebra R S] :
 #align polynomial_module.equiv_polynomial PolynomialModule.equivPolynomial
 
 variable (R' : Type*) {M' : Type*} [CommRing R'] [AddCommGroup M'] [Module R' M']
-
 variable [Algebra R R'] [Module R M'] [IsScalarTower R R' M']
 
 /-- The image of a polynomial under a linear map. -/
feat: sum and product of commuting semisimple endomorphisms (#10808)
  • Prove isSemisimple_of_mem_adjoin: if two commuting endomorphisms of a finite-dimensional vector space over a perfect field are both semisimple, then every endomorphism in the algebra generated by them (in particular their product and sum) is semisimple.

  • In the same file LinearAlgebra/Semisimple.lean, eq_zero_of_isNilpotent_isSemisimple and isSemisimple_of_squarefree_aeval_eq_zero are golfed, and IsSemisimple.minpoly_squarefree is proved

RingTheory/SimpleModule.lean:

  • Define IsSemisimpleRing R to mean that R is a semisimple R-module. add properties of simple modules and a characterization (they are exactly the quotients of the ring by maximal left ideals).

  • The annihilator of a semisimple module is a radical ideal.

  • Any module over a semisimple ring is semisimple.

  • A finite product of semisimple rings is semisimple.

  • Any quotient of a semisimple ring is semisimple.

  • Add Artin--Wedderburn as a TODO (proof_wanted).

  • Order/Atoms.lean: add the instance from IsSimpleOrder to ComplementedLattice, so that IsSimpleModule → IsSemisimpleModule is automatically inferred.

Prerequisites for showing a product of semisimple rings is semisimple:

  • Algebra/Module/Submodule/Map.lean: generalize orderIsoMapComap so that it only requires RingHomSurjective rather than RingHomInvPair

  • Algebra/Ring/CompTypeclasses.lean, Mathlib/Algebra/Ring/Pi.lean, Algebra/Ring/Prod.lean: add RingHomSurjective instances

RingTheory/Artinian.lean:

  • quotNilradicalEquivPi: the quotient of a commutative Artinian ring R by its nilradical is isomorphic to the (finite) product of its quotients by maximal ideals (therefore a product of fields). equivPi: if the ring is moreover reduced, then the ring itself is a product of fields. Deduce that R is a semisimple ring and both R and R[X] are decomposition monoids. Requires RingEquiv.quotientBot in RingTheory/Ideal/QuotientOperations.lean.

  • Data/Polynomial/Eval.lean: the polynomial ring over a finite product of rings is isomorphic to the product of polynomial rings over individual rings. (Used to show R[X] is a decomposition monoid.)

Other necessary results:

  • FieldTheory/Minpoly/Field.lean: the minimal polynomial of an element in a reduced algebra over a field is radical.

  • RingTheory/PowerBasis.lean: generalize PowerBasis.finiteDimensional and rename it to .finite.

Annihilator stuff, some of which do not end up being used:

  • RingTheory/Ideal/Operations.lean: define Module.annihilator and redefine Submodule.annihilator in terms of it; add lemmas, including one that says an arbitrary intersection of radical ideals is radical. The new lemma Ideal.isRadical_iff_pow_one_lt depends on pow_imp_self_of_one_lt in Mathlib/Data/Nat/Interval.lean, which is also used to golf the proof of isRadical_iff_pow_one_lt.

  • Algebra/Module/Torsion.lean: add a lemma and an instance (unused)

  • Data/Polynomial/Module/Basic.lean: add a def (unused) and a lemma

  • LinearAlgebra/AnnihilatingPolynomial.lean: add lemma span_minpoly_eq_annihilator

Some results about idempotent linear maps (projections) and idempotent elements, used to show that any (left) ideal in a semisimple ring is spanned by an idempotent element (unused):

  • LinearAlgebra/Projection.lean: add def isIdempotentElemEquiv

  • LinearAlgebra/Span.lean: add two lemmas

Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>

Diff
@@ -88,6 +88,24 @@ instance instIsScalarTowerOrigPolynomial : IsScalarTower R R[X] <| AEval R M a w
 instance instFinitePolynomial [Finite R M] : Finite R[X] <| AEval R M a :=
   Finite.of_restrictScalars_finite R _ _
 
+/-- Construct an `R[X]`-linear map out of `AEval R M a` from a `R`-linear map out of `M`. -/
+def _root_.LinearMap.ofAEval {N} [AddCommMonoid N] [Module R N] [Module R[X] N]
+    [IsScalarTower R R[X] N] (f : M →ₗ[R] N) (hf : ∀ m : M, f (a • m) = (X : R[X]) • f m) :
+    AEval R M a →ₗ[R[X]] N where
+  __ := f ∘ₗ (of R M a).symm
+  map_smul' p := p.induction_on (fun k m ↦ by simp [C_eq_algebraMap])
+    (fun p q hp hq m ↦ by simp_all [add_smul]) fun n k h m ↦ by
+      simp_rw [RingHom.id_apply, AddHom.toFun_eq_coe, LinearMap.coe_toAddHom,
+        LinearMap.comp_apply, LinearEquiv.coe_toLinearMap] at h ⊢
+      simp_rw [pow_succ', ← mul_assoc, mul_smul _ X, ← hf, ← of_symm_X_smul, ← h]
+
+lemma annihilator_eq_ker_aeval [FaithfulSMul A M] :
+    annihilator R[X] (AEval R M a) = RingHom.ker (aeval a) := by
+  ext p
+  simp_rw [mem_annihilator, RingHom.mem_ker]
+  change (∀ m : M, aeval a p • m = 0) ↔ _
+  exact ⟨fun h ↦ eq_of_smul_eq_smul (α := M) <| by simp [h], fun h ↦ by simp [h]⟩
+
 @[simp]
 lemma annihilator_top_eq_ker_aeval [FaithfulSMul A M] :
     (⊤ : Submodule R[X] <| AEval R M a).annihilator = RingHom.ker (aeval a) := by
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -208,7 +208,7 @@ def PolynomialModule (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] :=
 
 variable (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
 
---porting note: stated instead of deriving
+-- Porting note: stated instead of deriving
 noncomputable instance : Inhabited (PolynomialModule R M) := Finsupp.instInhabited
 noncomputable instance : AddCommGroup (PolynomialModule R M) := Finsupp.instAddCommGroup
 
chore(Data/Finsupp/Defs): rename instances (#10976)

This adds the inst prefix that is expected in Lean 4.

Performed using the F2 shortcut (renaming foo to Finsupp.instFoo, then deleting the redundant Finsupp)

All the changes to downstream files are fallout, no names have been changed there.

Diff
@@ -209,8 +209,8 @@ def PolynomialModule (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] :=
 variable (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
 
 --porting note: stated instead of deriving
-noncomputable instance : Inhabited (PolynomialModule R M) := Finsupp.inhabited
-noncomputable instance : AddCommGroup (PolynomialModule R M) := Finsupp.addCommGroup
+noncomputable instance : Inhabited (PolynomialModule R M) := Finsupp.instInhabited
+noncomputable instance : AddCommGroup (PolynomialModule R M) := Finsupp.instAddCommGroup
 
 variable {M}
 
@@ -227,7 +227,7 @@ instance instFunLike : FunLike (PolynomialModule R M) ℕ M :=
   Finsupp.instFunLike
 
 instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M :=
-  Finsupp.coeFun
+  Finsupp.instCoeFun
 
 theorem zero_apply (i : ℕ) : (0 : PolynomialModule R M) i = 0 :=
   Finsupp.zero_apply
feat: the minimal polynomial is a generator of the annihilator ideal (#10008)

More precisely, the goal of these changes is to make the following work:

import Mathlib.FieldTheory.Minpoly.Field

open Module Polynomial

example {K V : Type*} [Field K] [AddCommGroup V] [Module K V] (f : End K V) :
    (⊤ : Submodule K[X] <| AEval K V f).annihilator = K[X] ∙ minpoly K f := by
  simp

Co-authored-by: Johan Commelin <johan@commelin.net>

Diff
@@ -88,6 +88,14 @@ instance instIsScalarTowerOrigPolynomial : IsScalarTower R R[X] <| AEval R M a w
 instance instFinitePolynomial [Finite R M] : Finite R[X] <| AEval R M a :=
   Finite.of_restrictScalars_finite R _ _
 
+@[simp]
+lemma annihilator_top_eq_ker_aeval [FaithfulSMul A M] :
+    (⊤ : Submodule R[X] <| AEval R M a).annihilator = RingHom.ker (aeval a) := by
+  ext p
+  simp only [Submodule.mem_annihilator, Submodule.mem_top, forall_true_left, RingHom.mem_ker]
+  change (∀ m : M, aeval a p • m = 0) ↔ _
+  exact ⟨fun h ↦ eq_of_smul_eq_smul (α := M) <| by simp [h], fun h ↦ by simp [h]⟩
+
 section Submodule
 
 variable {p : Submodule R M} (hp : p ≤ p.comap (Algebra.lsmul R R M a))
feat: define semisimple linear endomorphisms (#9825)
Diff
@@ -24,7 +24,7 @@ In the special case that `A = M →ₗ[R] M` and `φ : M →ₗ[R] M`, the modul
 abbreviated `Module.AEval' φ`. In this module we have `X • m = ↑φ m`.
 -/
 universe u v
-open Polynomial BigOperators
+open Set Function Polynomial BigOperators
 
 namespace Module
 /--
@@ -132,6 +132,18 @@ def mapSubmodule : Submodule R[X] <| AEval R M a :=
     comapSubmodule R M a (mapSubmodule a hp) = p := by
   ext; simp
 
+variable (R M)
+
+lemma injective_comapSubmodule : Injective (comapSubmodule R M a) := by
+  intro q₁ q₂ hq
+  rw [← mapSubmodule_comapSubmodule (q := q₁), ← mapSubmodule_comapSubmodule (q := q₂)]
+  simp_rw [hq]
+
+lemma range_comapSubmodule :
+    range (comapSubmodule R M a) = {p | p ≤ p.comap (Algebra.lsmul R R M a)} :=
+  le_antisymm (fun _ ⟨_, hq⟩ ↦ hq ▸ comapSubmodule_le_comap a)
+    (fun _ hp ↦ ⟨mapSubmodule a hp, comapSubmodule_mapSubmodule a hp⟩)
+
 end Submodule
 
 end AEval
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -3,7 +3,8 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
-import Mathlib.RingTheory.Adjoin.Tower
+import Mathlib.RingTheory.Finiteness
+import Mathlib.Data.Polynomial.AlgebraMap
 
 #align_import data.polynomial.module from "leanprover-community/mathlib"@"63417e01fbc711beaf25fa73b6edb395c0cfddd0"
 
refactor(*): abbreviation for non-dependent FunLike (#9833)

This follows up from #9785, which renamed FunLike to DFunLike, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β), to make the non-dependent use of FunLike easier.

I searched for the pattern DFunLike.*fun and DFunLike.*λ in all files to replace expressions of the form DFunLike F α (fun _ => β) with FunLike F α β. I did this everywhere except for extends clauses for two reasons: it would conflict with #8386, and more importantly extends must directly refer to a structure with no unfolding of defs or abbrevs.

Diff
@@ -202,8 +202,8 @@ namespace PolynomialModule
 noncomputable instance : Module S (PolynomialModule R M) :=
   Finsupp.module ℕ M
 
-instance instDFunLike : DFunLike (PolynomialModule R M) ℕ fun _ => M :=
-  Finsupp.instDFunLike
+instance instFunLike : FunLike (PolynomialModule R M) ℕ M :=
+  Finsupp.instFunLike
 
 instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M :=
   Finsupp.coeFun
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -202,8 +202,8 @@ namespace PolynomialModule
 noncomputable instance : Module S (PolynomialModule R M) :=
   Finsupp.module ℕ M
 
-instance funLike : FunLike (PolynomialModule R M) ℕ fun _ => M :=
-  Finsupp.funLike
+instance instDFunLike : DFunLike (PolynomialModule R M) ℕ fun _ => M :=
+  Finsupp.instDFunLike
 
 instance : CoeFun (PolynomialModule R M) fun _ => ℕ → M :=
   Finsupp.coeFun
feat: basic theory connecting R[X]-submodules and invariant R-submodules (#9721)
Diff
@@ -69,6 +69,9 @@ lemma of_aeval_smul (f : R[X]) (m : M) : of R M a (aeval a f • m) = f • of R
 @[simp] lemma of_symm_smul (f : R[X]) (m : AEval R M a) :
     (of R M a).symm (f • m) = aeval a f • (of R M a).symm m := rfl
 
+@[simp] lemma C_smul (t : R) (m : AEval R M a) : C t • m = t • m :=
+  (of R M a).symm.injective <| by simp
+
 lemma X_smul_of (m : M) : (X : R[X]) • (of R M a m) = of R M a (a • m) := by
   rw [← of_aeval_smul, aeval_X]
 
@@ -79,12 +82,57 @@ lemma of_symm_X_smul (m : AEval R M a) :
 instance instIsScalarTowerOrigPolynomial : IsScalarTower R R[X] <| AEval R M a where
   smul_assoc r f m := by
     apply (of R M a).symm.injective
-    rw [of_symm_smul, map_smul, smul_assoc]
-    rfl
+    rw [of_symm_smul, map_smul, smul_assoc, map_smul, of_symm_smul]
 
 instance instFinitePolynomial [Finite R M] : Finite R[X] <| AEval R M a :=
   Finite.of_restrictScalars_finite R _ _
 
+section Submodule
+
+variable {p : Submodule R M} (hp : p ≤ p.comap (Algebra.lsmul R R M a))
+  {q : Submodule R[X] <| AEval R M a}
+
+variable (R M) in
+/-- We can turn an `R[X]`-submodule into an `R`-submodule by forgetting the action of `X`. -/
+def comapSubmodule :
+    CompleteLatticeHom (Submodule R[X] <| AEval R M a) (Submodule R M) :=
+  (Submodule.orderIsoMapComap (of R M a)).symm.toCompleteLatticeHom.comp <|
+    Submodule.restrictScalarsLatticeHom R R[X] (AEval R M a)
+
+@[simp] lemma mem_comapSubmodule {x : M} :
+    x ∈ comapSubmodule R M a q ↔ of R M a x ∈ q :=
+  Iff.rfl
+
+@[simp] lemma comapSubmodule_le_comap :
+    comapSubmodule R M a q ≤ (comapSubmodule R M a q).comap (Algebra.lsmul R R M a) := by
+  intro m hm
+  simpa only [Submodule.mem_comap, Algebra.lsmul_coe, mem_comapSubmodule, ← X_smul_of] using
+    q.smul_mem (X : R[X]) hm
+
+/-- An `R`-submodule which is stable under the action of `a` can be promoted to an
+`R[X]`-submodule. -/
+def mapSubmodule : Submodule R[X] <| AEval R M a :=
+  { toAddSubmonoid := p.toAddSubmonoid.map (of R M a)
+    smul_mem' := by
+      rintro f - ⟨m : M, h : m ∈ p, rfl⟩
+      simp only [AddSubsemigroup.mem_carrier, AddSubmonoid.mem_toSubsemigroup, AddSubmonoid.mem_map,
+        Submodule.mem_toAddSubmonoid]
+      exact ⟨aeval a f • m, aeval_apply_smul_mem_of_le_comap' h f a hp, of_aeval_smul a f m⟩ }
+
+@[simp] lemma mem_mapSubmodule {m : AEval R M a} :
+    m ∈ mapSubmodule a hp ↔ (of R M a).symm m ∈ p :=
+  ⟨fun ⟨_, hm, hm'⟩ ↦ hm'.symm ▸ hm, fun hm ↦ ⟨(of R M a).symm m, hm, rfl⟩⟩
+
+@[simp] lemma mapSubmodule_comapSubmodule (h := comapSubmodule_le_comap a) :
+    mapSubmodule a (p := comapSubmodule R M a q) h = q := by
+  ext; simp
+
+@[simp] lemma comapSubmodule_mapSubmodule :
+    comapSubmodule R M a (mapSubmodule a hp) = p := by
+  ext; simp
+
+end Submodule
+
 end AEval
 
 variable (φ : M →ₗ[R] M)
refactor: replace some [@foo](https://github.com/foo) _ _ _ _ _ ... by named arguments (#8702)

Using Lean4's named arguments, we manage to remove a few hard-to-read explicit function calls [@foo](https://github.com/foo) _ _ _ _ _ ... which used to be necessary in Lean3.

Occasionally, this results in slightly longer code. The benefit of named arguments is readability, as well as to reduce the brittleness of the code when the argument order is changed.

Co-authored-by: Michael Rothgang <rothgami@math.hu-berlin.de>

Diff
@@ -409,14 +409,10 @@ theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
   eval_map R f q r
 #align polynomial_module.eval_map' PolynomialModule.eval_map'
 
--- Porting note: Synthesized `RingHomCompTriple (RingHom.id R) (RingHom.id R) (RingHom.id R)`
--- in a very ugly way.
 /-- `comp p q` is the composition of `p : R[X]` and `q : M[X]` as `q(p(x))`.  -/
 @[simps!]
 noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialModule R M :=
-  @LinearMap.comp _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-    (@RingHomInvPair.triples _ _ _ _ _ _ RingHomInvPair.ids)
-    ((eval p).restrictScalars R) (map R[X] (lsingle R 0))
+  LinearMap.comp ((eval p).restrictScalars R) (map R[X] (lsingle R 0))
 #align polynomial_module.comp PolynomialModule.comp
 
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m := by
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -70,7 +70,7 @@ lemma of_aeval_smul (f : R[X]) (m : M) : of R M a (aeval a f • m) = f • of R
     (of R M a).symm (f • m) = aeval a f • (of R M a).symm m := rfl
 
 lemma X_smul_of (m : M) : (X : R[X]) • (of R M a m) = of R M a (a • m) := by
-  rw [←of_aeval_smul, aeval_X]
+  rw [← of_aeval_smul, aeval_X]
 
 lemma of_symm_X_smul (m : AEval R M a) :
     (of R M a).symm ((X : R[X]) • m) = a • (of R M a).symm m := by
@@ -306,7 +306,7 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
             · dsimp at H
               exfalso
               apply hpq2
-              rw [←hpq1, H]
+              rw [← hpq1, H]
               simp only [add_le_iff_nonpos_left, nonpos_iff_eq_zero, add_tsub_cancel_right]
             · rfl
           · intro H
fix: patch for std4#195 (more succ/pred lemmas for Nat) (#6203)
Diff
@@ -230,7 +230,7 @@ theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
   | succ n hn =>
     rw [Function.iterate_succ, Function.comp_apply, Nat.succ_eq_add_one, add_assoc, ← hn]
     congr 2
-    rw [← Nat.succ_eq_one_add]
+    rw [Nat.one_add]
     exact Finsupp.mapDomain_single
 #align polynomial_module.monomial_smul_single PolynomialModule.monomial_smul_single
 
feat(Data/Polynomial/Module) : define an R[X] module, given a linear map. (#7728)

Given an element a in an R-algebra A and an A-module M, define an R[X]-module Module.AEval R M a, whose elements correspond to elements of M, and where the action of f : R[X] is f • m = aeval a f • m. Equivalently, X • m = a • m.

This module is abbreviated to Module.AEval' φ in the special case that A is the algebra of R-linear maps and φ : M → M is an R-linear map.

This is needed in #7419.

Co-authored-by: Richard M. Hill <86743862+rmhi@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
 -/
-import Mathlib.RingTheory.FiniteType
+import Mathlib.RingTheory.Adjoin.Tower
 
 #align_import data.polynomial.module from "leanprover-community/mathlib"@"63417e01fbc711beaf25fa73b6edb395c0cfddd0"
 
@@ -15,16 +15,105 @@ In this file, we define the polynomial module for an `R`-module `M`, i.e. the `R
 This is defined as a type alias `PolynomialModule R M := ℕ →₀ M`, since there might be different
 module structures on `ℕ →₀ M` of interest. See the docstring of `PolynomialModule` for details.
 
+We also define, given an element `a` in an `R`-algebra `A` and an `A`-module `M`, an `R[X]`-module
+`Module.AEval R M a`, which is a type synonym of `M` with the action of a polynomial `f`
+given by `f • m = Polynomial.aeval a f • m`. In particular `X • m = a • m`.
+
+In the special case that `A = M →ₗ[R] M` and `φ : M →ₗ[R] M`, the module `Module.AEval R M a` is
+abbreviated `Module.AEval' φ`. In this module we have `X • m = ↑φ m`.
 -/
+universe u v
+open Polynomial BigOperators
 
+namespace Module
+/--
+Suppose `a` is an element of an `R`-algebra `A` and `M` is an `A`-module.
+Loosely speaking, `Module.AEval R M a` is the `R[X]`-module with elements `m : M`,
+where the action of a polynomial $f$ is given by $f • m = f(a) • m$.
 
-universe u v
+More precisely, `Module.AEval R M a` has elements `Module.AEval.of R M a m` for `m : M`,
+and the action of `f` is `f • (of R M a m) = of R M a ((aeval a f) • m)`.
+-/
+@[nolint unusedArguments]
+def AEval (R M : Type*) {A : Type*} [CommSemiring R] [Semiring A] [Algebra R A]
+    [AddCommMonoid M] [Module A M] [Module R M] [IsScalarTower R A M] (_ : A) := M
 
-open Polynomial
+instance AEval.instAddCommGroup {R A M} [CommSemiring R] [Semiring A] (a : A) [Algebra R A]
+    [AddCommGroup M] [Module A M] [Module R M] [IsScalarTower R A M] :
+    AddCommGroup <| AEval R M a := inferInstanceAs (AddCommGroup M)
 
-open Polynomial BigOperators
+variable {R A M} [CommSemiring R] [Semiring A] (a : A) [Algebra R A] [AddCommMonoid M] [Module A M]
+  [Module R M] [IsScalarTower R A M]
+
+namespace AEval
+
+instance instAddCommMonoid : AddCommMonoid <| AEval R M a := inferInstanceAs (AddCommMonoid M)
+
+instance instModuleOrig : Module R <| AEval R M a := inferInstanceAs (Module R M)
+
+instance instFiniteOrig [Finite R M] : Finite R <| AEval R M a := inferInstanceAs (Finite R M)
+
+instance instModulePolynomial : Module R[X] <| AEval R M a := compHom M (aeval a).toRingHom
+
+variable (R M)
+/--
+The canonical linear equivalence between `M` and `Module.AEval R M a` as an `R`-module.
+-/
+def of : M ≃ₗ[R] AEval R M a :=
+  LinearEquiv.refl _ _
+
+variable {R M}
 
+lemma of_aeval_smul (f : R[X]) (m : M) : of R M a (aeval a f • m) = f • of R M a m := rfl
 
+@[simp] lemma of_symm_smul (f : R[X]) (m : AEval R M a) :
+    (of R M a).symm (f • m) = aeval a f • (of R M a).symm m := rfl
+
+lemma X_smul_of (m : M) : (X : R[X]) • (of R M a m) = of R M a (a • m) := by
+  rw [←of_aeval_smul, aeval_X]
+
+lemma of_symm_X_smul (m : AEval R M a) :
+    (of R M a).symm ((X : R[X]) • m) = a • (of R M a).symm m := by
+  rw [of_symm_smul, aeval_X]
+
+instance instIsScalarTowerOrigPolynomial : IsScalarTower R R[X] <| AEval R M a where
+  smul_assoc r f m := by
+    apply (of R M a).symm.injective
+    rw [of_symm_smul, map_smul, smul_assoc]
+    rfl
+
+instance instFinitePolynomial [Finite R M] : Finite R[X] <| AEval R M a :=
+  Finite.of_restrictScalars_finite R _ _
+
+end AEval
+
+variable (φ : M →ₗ[R] M)
+/--
+Given and `R`-module `M` and a linear map `φ : M →ₗ[R] M`, `Module.AEval' φ` is loosely speaking
+the `R[X]`-module with elements `m : M`, where the action of a polynomial $f$ is given by
+$f • m = f(a) • m$.
+
+More precisely, `Module.AEval' φ` has elements `Module.AEval'.of φ m` for `m : M`,
+and the action of `f` is `f • (of φ m) = of φ ((aeval φ f) • m)`.
+
+`Module.AEval'` is defined as a special case of `Module.AEval` in which the `R`-algebra is
+`M →ₗ[R] M`. Lemmas involving `Module.AEval` may be applied to `Module.AEval'`.
+-/
+abbrev AEval' := AEval R M φ
+/--
+The canonical linear equivalence between `M` and `Module.AEval' φ` as an `R`-module,
+where `φ : M →ₗ[R] M`.
+-/
+abbrev AEval'.of : M ≃ₗ[R] AEval' φ := AEval.of R M φ
+lemma AEval'_def : AEval' φ = AEval R M φ := rfl
+lemma AEval'.X_smul_of (m : M) : (X : R[X]) • AEval'.of φ m = AEval'.of φ (φ m) :=
+  AEval.X_smul_of _ _
+lemma AEval'.of_symm_X_smul (m : AEval' φ) :
+    (AEval'.of φ).symm ((X : R[X]) • m) = φ ((AEval'.of φ).symm m) := AEval.of_symm_X_smul _ _
+
+instance [Finite R M] : Finite R[X] <| AEval' φ := inferInstance
+
+end Module
 
 /-- The `R[X]`-module `M[X]` for an `R`-module `M`.
 This is isomorphic (as an `R`-module) to `M[X]` when `M` is a ring.
@@ -109,16 +198,21 @@ theorem induction_linear {P : PolynomialModule R M → Prop} (f : PolynomialModu
 
 @[semireducible]
 noncomputable instance polynomialModule : Module R[X] (PolynomialModule R M) :=
-  modulePolynomialOfEndo (Finsupp.lmapDomain _ _ Nat.succ)
+  inferInstanceAs (Module R[X] (Module.AEval' (Finsupp.lmapDomain M R Nat.succ)))
 #align polynomial_module.polynomial_module PolynomialModule.polynomialModule
 
+lemma smul_def (f : R[X]) (m : PolynomialModule R M) :
+    f • m = aeval (Finsupp.lmapDomain M R Nat.succ) f m := by
+  rfl
+
 instance (M : Type u) [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower S R M] :
     IsScalarTower S R (PolynomialModule R M) :=
   Finsupp.isScalarTower _ _
 
 instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
     [IsScalarTower S R M] : IsScalarTower S R[X] (PolynomialModule R M) := by
-  haveI : IsScalarTower R R[X] (PolynomialModule R M) := modulePolynomialOfEndo.isScalarTower _
+  haveI : IsScalarTower R R[X] (PolynomialModule R M) :=
+    inferInstanceAs <| IsScalarTower R R[X] <| Module.AEval' <| Finsupp.lmapDomain M R Nat.succ
   constructor
   intro x y z
   rw [← @IsScalarTower.algebraMap_smul S R, ← @IsScalarTower.algebraMap_smul S R, smul_assoc]
@@ -128,7 +222,7 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     monomial i r • single R j m = single R (i + j) (r • m) := by
   simp only [LinearMap.mul_apply, Polynomial.aeval_monomial, LinearMap.pow_apply,
-    Module.algebraMap_end_apply, modulePolynomialOfEndo_smul_def]
+    Module.algebraMap_end_apply, smul_def]
   induction i generalizing r j m with
   | zero =>
     rw [Nat.zero_eq, Function.iterate_zero, zero_add]
feat(Data.Finset.Antidiagonal): generalize Finset.Nat.antidiagonal (#7486)

We define a type class Finset.HasAntidiagonal A which contains a function antidiagonal : A → Finset (A × A) such that antidiagonal n is the Finset of all pairs adding to n, as witnessed by mem_antidiagonal.

When A is a canonically ordered add monoid with locally finite order this typeclass can be instantiated with Finset.antidiagonalOfLocallyFinite. This applies in particular when A is , more generally or σ →₀ ℕ, or even ι →₀ A under the additional assumption OrderedSub A that make it a canonically ordered add monoid. (In fact, we would just need an AddMonoid with a compatible order, finite Iic, such that if a + b = n, then a, b ≤ n, and any finiteness condition would be OK.)

For computational reasons it is better to manually provide instances for and σ →₀ ℕ, to avoid quadratic runtime performance. These instances are provided as Finset.Nat.instHasAntidiagonal and Finsupp.instHasAntidiagonal. This is why Finset.antidiagonalOfLocallyFinite is an abbrev and not an instance.

This definition does not exactly match with that of Multiset.antidiagonal defined in Mathlib.Data.Multiset.Antidiagonal, because of the multiplicities. Indeed, by counting multiplicities, Multiset α is equivalent to α →₀ ℕ, but Finset.antidiagonal and Multiset.antidiagonal will return different objects. For example, for s : Multiset ℕ := {0,0,0}, Multiset.antidiagonal s has 8 elements but Finset.antidiagonal s has only 4.

def s : Multiset ℕ := {0, 0, 0}
#eval (Finset.antidiagonal s).card -- 4
#eval Multiset.card (Multiset.antidiagonal s) -- 8

TODO

  • Define HasMulAntidiagonal (for monoids). For PNat, we will recover the set of divisors of a strictly positive integer.

This closes #7917

Co-authored by: María Inés de Frutos-Fernández <mariaines.dff@gmail.com> and Eric Wieser <efw27@cam.ac.uk>

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -175,7 +175,7 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
 #align polynomial_module.smul_single_apply PolynomialModule.smul_single_apply
 
 theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
-    (f • g) n = ∑ x in Finset.Nat.antidiagonal n, f.coeff x.1 • g x.2 := by
+    (f • g) n = ∑ x in Finset.antidiagonal n, f.coeff x.1 • g x.2 := by
   induction' f using Polynomial.induction_on' with p q hp hq f_n f_a
   · rw [add_smul, Finsupp.add_apply, hp, hq, ← Finset.sum_add_distrib]
     congr
@@ -207,7 +207,7 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
         · rw [Finset.sum_eq_single (i - n, n)]
           simp only [ite_true]
           · rintro ⟨p, q⟩ hpq1 hpq2
-            rw [Finset.Nat.mem_antidiagonal] at hpq1
+            rw [Finset.mem_antidiagonal] at hpq1
             split_ifs with H
             · dsimp at H
               exfalso
@@ -218,10 +218,10 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
           · intro H
             exfalso
             apply H
-            rw [Finset.Nat.mem_antidiagonal, tsub_add_cancel_of_le hn]
+            rw [Finset.mem_antidiagonal, tsub_add_cancel_of_le hn]
         · symm
           rw [Finset.sum_ite_of_false, Finset.sum_const_zero]
-          simp_rw [Finset.Nat.mem_antidiagonal]
+          simp_rw [Finset.mem_antidiagonal]
           intro x hx
           contrapose! hn
           rw [add_comm, ← hn] at hx
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -45,10 +45,10 @@ See https://leanprover.zulipchat.com/#narrow/stream/144837-PR-reviews/topic/.231
 for the full discussion.
 -/
 @[nolint unusedArguments]
-def PolynomialModule (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] := ℕ →₀ M
+def PolynomialModule (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] := ℕ →₀ M
 #align polynomial_module PolynomialModule
 
-variable (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
+variable (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
 
 --porting note: stated instead of deriving
 noncomputable instance : Inhabited (PolynomialModule R M) := Finsupp.inhabited
@@ -56,7 +56,7 @@ noncomputable instance : AddCommGroup (PolynomialModule R M) := Finsupp.addCommG
 
 variable {M}
 
-variable {S : Type _} [CommSemiring S] [Algebra S R] [Module S M] [IsScalarTower S R M]
+variable {S : Type*} [CommSemiring S] [Algebra S R] [Module S M] [IsScalarTower S R M]
 
 namespace PolynomialModule
 
@@ -229,12 +229,12 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
 #align polynomial_module.equiv_polynomial_self PolynomialModule.equivPolynomialSelf
 
 /-- `PolynomialModule R S` is isomorphic to `S[X]` as an `R` module. -/
-noncomputable def equivPolynomial {S : Type _} [CommRing S] [Algebra R S] :
+noncomputable def equivPolynomial {S : Type*} [CommRing S] [Algebra R S] :
     PolynomialModule R S ≃ₗ[R] S[X] :=
   { (Polynomial.toFinsuppIso S).symm with map_smul' := fun _ _ => rfl }
 #align polynomial_module.equiv_polynomial PolynomialModule.equivPolynomial
 
-variable (R' : Type _) {M' : Type _} [CommRing R'] [AddCommGroup M'] [Module R' M']
+variable (R' : Type*) {M' : Type*} [CommRing R'] [AddCommGroup M'] [Module R' M']
 
 variable [Algebra R R'] [Module R M'] [IsScalarTower R R' M']
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Andrew Yang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Andrew Yang
-
-! This file was ported from Lean 3 source module data.polynomial.module
-! 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.RingTheory.FiniteType
 
+#align_import data.polynomial.module from "leanprover-community/mathlib"@"63417e01fbc711beaf25fa73b6edb395c0cfddd0"
+
 /-!
 # Polynomial module
 
chore: fix grammar 2/3 (#5002)

Part 2 of #5001

Diff
@@ -15,7 +15,7 @@ import Mathlib.RingTheory.FiniteType
 
 In this file, we define the polynomial module for an `R`-module `M`, i.e. the `R[X]`-module `M[X]`.
 
-This is defined as an type alias `PolynomialModule R M := ℕ →₀ M`, since there might be different
+This is defined as a type alias `PolynomialModule R M := ℕ →₀ M`, since there might be different
 module structures on `ℕ →₀ M` of interest. See the docstring of `PolynomialModule` for details.
 
 -/
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -150,7 +150,7 @@ theorem monomial_smul_apply (i : ℕ) (r : R) (g : PolynomialModule R M) (n : 
   · simp only [smul_zero, zero_apply, ite_self]
   · simp only [smul_add, add_apply, hp, hq]
     split_ifs
-    exacts[rfl, zero_add 0]
+    exacts [rfl, zero_add 0]
   · rw [monomial_smul_single, single_apply, single_apply, smul_ite, smul_zero, ← ite_and]
     congr
     rw [eq_iff_iff]
@@ -167,7 +167,7 @@ theorem smul_single_apply (i : ℕ) (f : R[X]) (m : M) (n : ℕ) :
   induction' f using Polynomial.induction_on' with p q hp hq
   · rw [add_smul, Finsupp.add_apply, hp, hq, coeff_add, add_smul]
     split_ifs
-    exacts[rfl, zero_add 0]
+    exacts [rfl, zero_add 0]
   · rw [monomial_smul_single, single_apply, coeff_monomial, ite_smul, zero_smul]
     by_cases h : i ≤ n
     · simp_rw [eq_tsub_iff_add_eq_of_le h, if_pos h]
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -95,7 +95,6 @@ noncomputable def lsingle (i : ℕ) : M →ₗ[R] PolynomialModule R M :=
   Finsupp.lsingle i
 #align polynomial_module.lsingle PolynomialModule.lsingle
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem lsingle_apply (i : ℕ) (m : M) (n : ℕ) : lsingle R i m n = ite (i = n) m 0 :=
   Finsupp.single_apply
 #align polynomial_module.lsingle_apply PolynomialModule.lsingle_apply
@@ -120,7 +119,6 @@ instance (M : Type u) [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower
     IsScalarTower S R (PolynomialModule R M) :=
   Finsupp.isScalarTower _ _
 
-set_option synthInstance.etaExperiment true in
 instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
     [IsScalarTower S R M] : IsScalarTower S R[X] (PolynomialModule R M) := by
   haveI : IsScalarTower R R[X] (PolynomialModule R M) := modulePolynomialOfEndo.isScalarTower _
@@ -129,7 +127,6 @@ instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
   rw [← @IsScalarTower.algebraMap_smul S R, ← @IsScalarTower.algebraMap_smul S R, smul_assoc]
 #align polynomial_module.is_scalar_tower' PolynomialModule.isScalarTower'
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 @[simp]
 theorem monomial_smul_single (i : ℕ) (r : R) (j : ℕ) (m : M) :
     monomial i r • single R j m = single R (i + j) (r • m) := by
@@ -197,11 +194,6 @@ theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     exacts [rfl, (zero_smul R _).symm]
 #align polynomial_module.smul_apply PolynomialModule.smul_apply
 
--- Porting note: typeclass inference goes haywire in the next declaration,
--- possibly due to either lean4#2074 or upstream workarounds for it.
--- One way to prune the bad branches is:
-attribute [-instance] IsDomain.toCancelCommMonoidWithZero in
-set_option synthInstance.etaExperiment true in
 /-- `PolynomialModule R R` is isomorphic to `R[X]` as an `R[X]` module. -/
 noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :=
   { (Polynomial.toFinsuppIso R).symm with
@@ -239,7 +231,6 @@ noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :
           exact Nat.le.intro hx }
 #align polynomial_module.equiv_polynomial_self PolynomialModule.equivPolynomialSelf
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 /-- `PolynomialModule R S` is isomorphic to `S[X]` as an `R` module. -/
 noncomputable def equivPolynomial {S : Type _} [CommRing S] [Algebra R S] :
     PolynomialModule R S ≃ₗ[R] S[X] :=
@@ -255,13 +246,11 @@ noncomputable def map (f : M →ₗ[R] M') : PolynomialModule R M →ₗ[R] Poly
   Finsupp.mapRange.linearMap f
 #align polynomial_module.map PolynomialModule.map
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 @[simp]
 theorem map_single (f : M →ₗ[R] M') (i : ℕ) (m : M) : map R' f (single R i m) = single R' i (f m) :=
   Finsupp.mapRange_single (hf := f.map_zero)
 #align polynomial_module.map_single PolynomialModule.map_single
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem map_smul (f : M →ₗ[R] M') (p : R[X]) (q : PolynomialModule R M) :
     map R' f (p • q) = p.map (algebraMap R R') • map R' f q := by
   apply induction_linear q
@@ -289,19 +278,16 @@ def eval (r : R) : PolynomialModule R M →ₗ[R] M where
       rw [smul_comm]
 #align polynomial_module.eval PolynomialModule.eval
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 @[simp]
 theorem eval_single (r : R) (i : ℕ) (m : M) : eval r (single R i m) = r ^ i • m :=
   Finsupp.sum_single_index (smul_zero _)
 #align polynomial_module.eval_single PolynomialModule.eval_single
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 @[simp]
 theorem eval_lsingle (r : R) (i : ℕ) (m : M) : eval r (lsingle R i m) = r ^ i • m :=
   eval_single r i m
 #align polynomial_module.eval_lsingle PolynomialModule.eval_lsingle
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (p • q) = p.eval r • eval r q := by
   apply induction_linear q
@@ -315,7 +301,6 @@ theorem eval_smul (p : R[X]) (q : PolynomialModule R M) (r : R) :
       smul_smul, pow_add, mul_smul]
 #align polynomial_module.eval_smul PolynomialModule.eval_smul
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 @[simp]
 theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     eval (algebraMap R R' r) (map R' f q) = f (eval r q) := by
@@ -327,7 +312,6 @@ theorem eval_map (f : M →ₗ[R] M') (q : PolynomialModule R M) (r : R) :
     rw [map_single, eval_single, eval_single, f.map_smul, ← map_pow, algebraMap_smul]
 #align polynomial_module.eval_map PolynomialModule.eval_map
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 @[simp]
 theorem eval_map' (f : M →ₗ[R] M) (q : PolynomialModule R M) (r : R) :
     eval r (map R f q) = f (eval r q) :=
@@ -344,14 +328,12 @@ noncomputable def comp (p : R[X]) : PolynomialModule R M →ₗ[R] PolynomialMod
     ((eval p).restrictScalars R) (map R[X] (lsingle R 0))
 #align polynomial_module.comp PolynomialModule.comp
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem comp_single (p : R[X]) (i : ℕ) (m : M) : comp p (single R i m) = p ^ i • single R 0 m := by
   rw [comp_apply]
   erw [map_single, eval_single]
   rfl
 #align polynomial_module.comp_single PolynomialModule.comp_single
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
     eval r (comp p q) = eval (p.eval r) q := by
   rw [← LinearMap.comp_apply]
@@ -364,7 +346,6 @@ theorem comp_eval (p : R[X]) (q : PolynomialModule R M) (r : R) :
       Polynomial.eval_pow]
 #align polynomial_module.comp_eval PolynomialModule.comp_eval
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem comp_smul (p p' : R[X]) (q : PolynomialModule R M) :
     comp p (p' • q) = p'.comp p • comp p q := by
   rw [comp_apply, map_smul, eval_smul, Polynomial.comp, Polynomial.eval_map, comp_apply]
chore: use etaExperiment rather than hacking with instances (#3668)

This is to fix timeouts in https://github.com/leanprover-community/mathlib4/pull/3552.

See discussion at https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.233552.20.28LinearAlgebra.2EMatrix.2EToLin.29.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -120,6 +120,7 @@ instance (M : Type u) [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower
     IsScalarTower S R (PolynomialModule R M) :=
   Finsupp.isScalarTower _ _
 
+set_option synthInstance.etaExperiment true in
 instance isScalarTower' (M : Type u) [AddCommGroup M] [Module R M] [Module S M]
     [IsScalarTower S R M] : IsScalarTower S R[X] (PolynomialModule R M) := by
   haveI : IsScalarTower R R[X] (PolynomialModule R M) := modulePolynomialOfEndo.isScalarTower _
@@ -196,7 +197,11 @@ theorem smul_apply (f : R[X]) (g : PolynomialModule R M) (n : ℕ) :
     exacts [rfl, (zero_smul R _).symm]
 #align polynomial_module.smul_apply PolynomialModule.smul_apply
 
-
+-- Porting note: typeclass inference goes haywire in the next declaration,
+-- possibly due to either lean4#2074 or upstream workarounds for it.
+-- One way to prune the bad branches is:
+attribute [-instance] IsDomain.toCancelCommMonoidWithZero in
+set_option synthInstance.etaExperiment true in
 /-- `PolynomialModule R R` is isomorphic to `R[X]` as an `R[X]` module. -/
 noncomputable def equivPolynomialSelf : PolynomialModule R R ≃ₗ[R[X]] R[X] :=
   { (Polynomial.toFinsuppIso R).symm with
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -49,7 +49,6 @@ for the full discussion.
 -/
 @[nolint unusedArguments]
 def PolynomialModule (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] := ℕ →₀ M
-
 #align polynomial_module PolynomialModule
 
 variable (R M : Type _) [CommRing R] [AddCommGroup M] [Module R M] (I : Ideal R)
feat: port Data.Polynomial.Module (#3407)

Co-authored-by: Pol_tta <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: EmilieUthaiwat <emiliepathum@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Gabriel Ebner <gebner@gebner.org> Co-authored-by: Violeta Hernández <vi.hdz.p@gmail.com> Co-authored-by: Wrenna Robson <wren.robson@gmail.com> Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Wrenna Robson <34025592+linesthatinterlace@users.noreply.github.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Dependencies 8 + 538

539 files ported (98.5%)
225440 lines ported (98.6%)
Show graph

The unported dependencies are