ring_theory.adjoin.power_basisMathlib.RingTheory.Adjoin.PowerBasis

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -187,7 +187,7 @@ theorem repr_pow_isIntegral [IsDomain S] {x : A} (hx : ∀ i, IsIntegral R (B.Ba
     · exact isIntegral_one
     · exact isIntegral_zero
   · intro hx
-    rw [pow_succ]
+    rw [pow_succ']
     exact repr_mul_is_integral hB hx (fun _ => hn _ le_rfl (fun _ => hx _) _) hmin
 #align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegral
 -/
Diff
@@ -48,12 +48,12 @@ noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
     @Basis.mk (Fin (minpoly K x).natDegree) _ (adjoin K {x}) fun i =>
       ⟨x, subset_adjoin (Set.mem_singleton x)⟩ ^ (i : ℕ)
   · have := linearIndependent_pow _
-    rwa [minpoly_eq] at this 
+    rwa [minpoly_eq] at this
   · rintro ⟨y, hy⟩ _
     have := hx'.mem_span_pow
-    rw [minpoly_eq] at this 
+    rw [minpoly_eq] at this
     apply this
-    · rw [adjoin_singleton_eq_range_aeval] at hy 
+    · rw [adjoin_singleton_eq_range_aeval] at hy
       obtain ⟨f, rfl⟩ := (aeval x).mem_range.mp hy
       use f
       ext
Diff
@@ -162,7 +162,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   refine' IsIntegral.sum _ fun I hI => _
   simp only [Algebra.smul_mul_assoc, Algebra.mul_smul_comm, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
-  refine' isIntegral_mul (hy _) (isIntegral_mul (hx _) _)
+  refine' IsIntegral.mul (hy _) (IsIntegral.mul (hx _) _)
   simp only [coe_basis, ← pow_add]
   refine' repr_gen_pow_is_integral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
@@ -208,7 +208,7 @@ theorem toMatrix_isIntegral {B B' : PowerBasis K S} {P : R[X]} (h : aeval B.gen
   refine' IsIntegral.sum _ fun n hn => _
   rw [Algebra.smul_def, IsScalarTower.algebraMap_apply R K S, ← Algebra.smul_def,
     LinearEquiv.map_smul, algebraMap_smul]
-  exact isIntegral_smul _ (repr_gen_pow_is_integral hB hmin _ _)
+  exact IsIntegral.smul _ (repr_gen_pow_is_integral hB hmin _ _)
 #align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegral
 -/
 
Diff
@@ -131,7 +131,7 @@ theorem repr_gen_pow_isIntegral [IsDomain S]
     exact degree_mod_by_monic_lt _ (minpoly.monic hB)
     infer_instance
   rw [this, aeval_eq_sum_range' hlt]
-  simp only [LinearEquiv.map_sum, LinearEquiv.map_smulₛₗ, RingHom.id_apply, Finset.sum_apply']
+  simp only [map_sum, LinearEquiv.map_smulₛₗ, RingHom.id_apply, Finset.sum_apply']
   refine' IsIntegral.sum _ fun j hj => _
   replace hj := Finset.mem_range.1 hj
   rw [← Fin.val_mk hj, ← B.basis_eq_pow, Algebra.smul_def, IsScalarTower.algebraMap_apply R S A, ←
@@ -158,8 +158,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
     ∀ i, IsIntegral R (B.Basis.repr (x * y) i) :=
   by
   intro i
-  rw [← B.basis.sum_repr x, ← B.basis.sum_repr y, Finset.sum_mul_sum, LinearEquiv.map_sum,
-    Finset.sum_apply']
+  rw [← B.basis.sum_repr x, ← B.basis.sum_repr y, Finset.sum_mul_sum, map_sum, Finset.sum_apply']
   refine' IsIntegral.sum _ fun I hI => _
   simp only [Algebra.smul_mul_assoc, Algebra.mul_smul_comm, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
@@ -205,7 +204,7 @@ theorem toMatrix_isIntegral {B B' : PowerBasis K S} {P : R[X]} (h : aeval B.gen
   intro i j
   rw [B.basis.to_matrix_apply, B'.coe_basis]
   refine' repr_pow_is_integral hB (fun i => _) hmin _ _
-  rw [← h, aeval_eq_sum_range, LinearEquiv.map_sum, Finset.sum_apply']
+  rw [← h, aeval_eq_sum_range, map_sum, Finset.sum_apply']
   refine' IsIntegral.sum _ fun n hn => _
   rw [Algebra.smul_def, IsScalarTower.algebraMap_apply R K S, ← Algebra.smul_def,
     LinearEquiv.map_smul, algebraMap_smul]
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Anne Baanen. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Anne Baanen
 -/
-import Mathbin.RingTheory.Adjoin.Basic
-import Mathbin.RingTheory.PowerBasis
-import Mathbin.LinearAlgebra.Matrix.Basis
+import RingTheory.Adjoin.Basic
+import RingTheory.PowerBasis
+import LinearAlgebra.Matrix.Basis
 
 #align_import ring_theory.adjoin.power_basis from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Anne Baanen. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Anne Baanen
-
-! This file was ported from Lean 3 source module ring_theory.adjoin.power_basis
-! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.RingTheory.Adjoin.Basic
 import Mathbin.RingTheory.PowerBasis
 import Mathbin.LinearAlgebra.Matrix.Basis
 
+#align_import ring_theory.adjoin.power_basis from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
+
 /-!
 # Power basis for `algebra.adjoin R {x}`
 
Diff
@@ -33,6 +33,7 @@ open PowerBasis
 
 open scoped BigOperators
 
+#print Algebra.adjoin.powerBasisAux /-
 /-- The elements `1, x, ..., x ^ (d - 1)` for a basis for the `K`-module `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. -/
 noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
@@ -61,7 +62,9 @@ noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
       ext
       exact aeval_algebra_map_apply S (⟨x, _⟩ : adjoin K {x}) _
 #align algebra.adjoin.power_basis_aux Algebra.adjoin.powerBasisAux
+-/
 
+#print Algebra.adjoin.powerBasis /-
 /-- The power basis `1, x, ..., x ^ (d - 1)` for `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. See `algebra.adjoin.power_basis'` for
 a version over a more general base ring. -/
@@ -74,11 +77,13 @@ noncomputable def adjoin.powerBasis {x : S} (hx : IsIntegral K x) :
   Basis := adjoin.powerBasisAux hx
   basis_eq_pow := Basis.mk_apply _ _
 #align algebra.adjoin.power_basis Algebra.adjoin.powerBasis
+-/
 
 end Algebra
 
 open Algebra
 
+#print PowerBasis.ofGenMemAdjoin /-
 /-- The power basis given by `x` if `B.gen ∈ adjoin K {x}`. See `power_basis.of_gen_mem_adjoin'`
 for a version over a more general base ring. -/
 @[simps]
@@ -88,6 +93,7 @@ noncomputable def PowerBasis.ofGenMemAdjoin {x : S} (B : PowerBasis K S) (hint :
     (Subalgebra.equivOfEq _ _ <| PowerBasis.adjoin_eq_top_of_gen_mem_adjoin hx).trans
       Subalgebra.topEquiv
 #align power_basis.of_gen_mem_adjoin PowerBasis.ofGenMemAdjoin
+-/
 
 section IsIntegral
 
@@ -103,8 +109,7 @@ variable {A : Type _} [CommRing A] [Algebra R A] [Algebra S A]
 
 variable [IsScalarTower R S A] {B : PowerBasis S A} (hB : IsIntegral R B.gen)
 
-include hB
-
+#print PowerBasis.repr_gen_pow_isIntegral /-
 /-- If `B : power_basis S A` is such that `is_integral R B.gen`, then
 `is_integral R (B.basis.repr (B.gen ^ n) i)` for all `i` if
 `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case if `R` is a GCD domain
@@ -141,9 +146,11 @@ theorem repr_gen_pow_isIntegral [IsDomain S]
     exact isIntegral_algebraMap
   · simp [hij, isIntegral_zero]
 #align power_basis.repr_gen_pow_is_integral PowerBasis.repr_gen_pow_isIntegral
+-/
 
 variable {B}
 
+#print PowerBasis.repr_mul_isIntegral /-
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x y : A` be elements with
 integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x * y) i)` for all
 `i` if `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case if `R` is a GCD
@@ -163,7 +170,9 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   simp only [coe_basis, ← pow_add]
   refine' repr_gen_pow_is_integral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
+-/
 
+#print PowerBasis.repr_pow_isIntegral /-
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x : A` be and element
 with integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x ^ n) i)` for
 all `i` and all `n` if `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case
@@ -185,7 +194,9 @@ theorem repr_pow_isIntegral [IsDomain S] {x : A} (hx : ∀ i, IsIntegral R (B.Ba
     rw [pow_succ]
     exact repr_mul_is_integral hB hx (fun _ => hn _ le_rfl (fun _ => hx _) _) hmin
 #align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegral
+-/
 
+#print PowerBasis.toMatrix_isIntegral /-
 /-- Let `B B' : power_basis K S` be such that `is_integral R B.gen`, and let `P : R[X]` be such that
 `aeval B.gen P = B'.gen`. Then `is_integral R (B.basis.to_matrix B'.basis i j)` for all `i` and `j`
 if `minpoly K B.gen = (minpoly R B.gen).map (algebra_map R L)`. This is the case
@@ -203,6 +214,7 @@ theorem toMatrix_isIntegral {B B' : PowerBasis K S} {P : R[X]} (h : aeval B.gen
     LinearEquiv.map_smul, algebraMap_smul]
   exact isIntegral_smul _ (repr_gen_pow_is_integral hB hmin _ _)
 #align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegral
+-/
 
 end PowerBasis
 
Diff
@@ -50,12 +50,12 @@ noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
     @Basis.mk (Fin (minpoly K x).natDegree) _ (adjoin K {x}) fun i =>
       ⟨x, subset_adjoin (Set.mem_singleton x)⟩ ^ (i : ℕ)
   · have := linearIndependent_pow _
-    rwa [minpoly_eq] at this
+    rwa [minpoly_eq] at this 
   · rintro ⟨y, hy⟩ _
     have := hx'.mem_span_pow
-    rw [minpoly_eq] at this
+    rw [minpoly_eq] at this 
     apply this
-    · rw [adjoin_singleton_eq_range_aeval] at hy
+    · rw [adjoin_singleton_eq_range_aeval] at hy 
       obtain ⟨f, rfl⟩ := (aeval x).mem_range.mp hy
       use f
       ext
Diff
@@ -31,7 +31,7 @@ open Polynomial
 
 open PowerBasis
 
-open BigOperators
+open scoped BigOperators
 
 /-- The elements `1, x, ..., x ^ (d - 1)` for a basis for the `K`-module `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. -/
@@ -95,7 +95,7 @@ namespace PowerBasis
 
 open Polynomial
 
-open Polynomial
+open scoped Polynomial
 
 variable {R : Type _} [CommRing R] [Algebra R S] [Algebra R K] [IsScalarTower R K S]
 
Diff
@@ -33,9 +33,6 @@ open PowerBasis
 
 open BigOperators
 
-/- warning: algebra.adjoin.power_basis_aux -> Algebra.adjoin.powerBasisAux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebra.adjoin.power_basis_aux Algebra.adjoin.powerBasisAuxₓ'. -/
 /-- The elements `1, x, ..., x ^ (d - 1)` for a basis for the `K`-module `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. -/
 noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
@@ -65,12 +62,6 @@ noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
       exact aeval_algebra_map_apply S (⟨x, _⟩ : adjoin K {x}) _
 #align algebra.adjoin.power_basis_aux Algebra.adjoin.powerBasisAux
 
-/- warning: algebra.adjoin.power_basis -> Algebra.adjoin.powerBasis is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (PowerBasis.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (Subalgebra.toRing.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Subalgebra.algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))))
-but is expected to have type
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (PowerBasis.{u1, u2} K (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (Subalgebra.toRing.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))) (Subalgebra.algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))))
-Case conversion may be inaccurate. Consider using '#align algebra.adjoin.power_basis Algebra.adjoin.powerBasisₓ'. -/
 /-- The power basis `1, x, ..., x ^ (d - 1)` for `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. See `algebra.adjoin.power_basis'` for
 a version over a more general base ring. -/
@@ -88,12 +79,6 @@ end Algebra
 
 open Algebra
 
-/- warning: power_basis.of_gen_mem_adjoin -> PowerBasis.ofGenMemAdjoin is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {x : S} (B : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3), (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Membership.Mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (SetLike.hasMem.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) -> (PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3)
-but is expected to have type
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {x : S} (B : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3), (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))) -> (PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3)
-Case conversion may be inaccurate. Consider using '#align power_basis.of_gen_mem_adjoin PowerBasis.ofGenMemAdjoinₓ'. -/
 /-- The power basis given by `x` if `B.gen ∈ adjoin K {x}`. See `power_basis.of_gen_mem_adjoin'`
 for a version over a more general base ring. -/
 @[simps]
@@ -120,9 +105,6 @@ variable [IsScalarTower R S A] {B : PowerBasis S A} (hB : IsIntegral R B.gen)
 
 include hB
 
-/- warning: power_basis.repr_gen_pow_is_integral -> PowerBasis.repr_gen_pow_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align power_basis.repr_gen_pow_is_integral PowerBasis.repr_gen_pow_isIntegralₓ'. -/
 /-- If `B : power_basis S A` is such that `is_integral R B.gen`, then
 `is_integral R (B.basis.repr (B.gen ^ n) i)` for all `i` if
 `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case if `R` is a GCD domain
@@ -162,9 +144,6 @@ theorem repr_gen_pow_isIntegral [IsDomain S]
 
 variable {B}
 
-/- warning: power_basis.repr_mul_is_integral -> PowerBasis.repr_mul_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegralₓ'. -/
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x y : A` be elements with
 integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x * y) i)` for all
 `i` if `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case if `R` is a GCD
@@ -185,9 +164,6 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   refine' repr_gen_pow_is_integral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
 
-/- warning: power_basis.repr_pow_is_integral -> PowerBasis.repr_pow_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegralₓ'. -/
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x : A` be and element
 with integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x ^ n) i)` for
 all `i` and all `n` if `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case
@@ -210,9 +186,6 @@ theorem repr_pow_isIntegral [IsDomain S] {x : A} (hx : ∀ i, IsIntegral R (B.Ba
     exact repr_mul_is_integral hB hx (fun _ => hn _ le_rfl (fun _ => hx _) _) hmin
 #align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegral
 
-/- warning: power_basis.to_matrix_is_integral -> PowerBasis.toMatrix_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegralₓ'. -/
 /-- Let `B B' : power_basis K S` be such that `is_integral R B.gen`, and let `P : R[X]` be such that
 `aeval B.gen P = B'.gen`. Then `is_integral R (B.basis.to_matrix B'.basis i j)` for all `i` and `j`
 if `minpoly K B.gen = (minpoly R B.gen).map (algebra_map R L)`. This is the case
Diff
@@ -34,10 +34,7 @@ open PowerBasis
 open BigOperators
 
 /- warning: algebra.adjoin.power_basis_aux -> Algebra.adjoin.powerBasisAux is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Basis.{0, u1, u2} (Fin (Polynomial.natDegree.{u1} K (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (minpoly.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x))) K (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Subalgebra.toRing.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))))))) (Subalgebra.module.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))))
-but is expected to have type
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Basis.{0, u1, u2} (Fin (Polynomial.natDegree.{u1} K (CommSemiring.toSemiring.{u1} K (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (minpoly.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x))) K (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (Ring.toNonAssocRing.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (CommRing.toRing.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (SubringClass.toCommRing.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)) S _inst_2 (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3))))))) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebra.adjoin.power_basis_aux Algebra.adjoin.powerBasisAuxₓ'. -/
 /-- The elements `1, x, ..., x ^ (d - 1)` for a basis for the `K`-module `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. -/
@@ -124,10 +121,7 @@ variable [IsScalarTower R S A] {B : PowerBasis S A} (hB : IsIntegral R B.gen)
 include hB
 
 /- warning: power_basis.repr_gen_pow_is_integral -> PowerBasis.repr_gen_pow_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_10 : Algebra.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_11 : IsScalarTower.{u2, u1, u3} R S A (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} S A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} S A (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} S A (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} S A (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10))))) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_9)))))] {B : PowerBasis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10}, (IsIntegral.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))], (Eq.{succ u1} (Polynomial.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (minpoly.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (Polynomial.map.{u2, u1} R S (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5) (minpoly.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B) n)) i)))
-but is expected to have type
-  forall {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_10 : Algebra.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_11 : IsScalarTower.{u1, u3, u2} R S A (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_10) (Algebra.toSMul.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9)] {B : PowerBasis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10}, (IsIntegral.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))], (Eq.{succ u3} (Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (minpoly.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (Polynomial.map.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (minpoly.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B) n)) i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align power_basis.repr_gen_pow_is_integral PowerBasis.repr_gen_pow_isIntegralₓ'. -/
 /-- If `B : power_basis S A` is such that `is_integral R B.gen`, then
 `is_integral R (B.basis.repr (B.gen ^ n) i)` for all `i` if
@@ -169,10 +163,7 @@ theorem repr_gen_pow_isIntegral [IsDomain S]
 variable {B}
 
 /- warning: power_basis.repr_mul_is_integral -> PowerBasis.repr_mul_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_10 : Algebra.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_11 : IsScalarTower.{u2, u1, u3} R S A (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} S A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} S A (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} S A (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} S A (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10))))) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_9)))))] {B : PowerBasis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10}, (IsIntegral.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {x : A} {y : A}, (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) x) i)) -> (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) y) i)) -> (Eq.{succ u1} (Polynomial.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (minpoly.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (Polynomial.map.{u2, u1} R S (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5) (minpoly.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)))) -> (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) x y)) i)))
-but is expected to have type
-  forall {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_10 : Algebra.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_11 : IsScalarTower.{u1, u3, u2} R S A (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_10) (Algebra.toSMul.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9)] {B : PowerBasis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10}, (IsIntegral.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {x : A} {y : A}, (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) x) i)) -> (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) y) i)) -> (Eq.{succ u3} (Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (minpoly.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (Polynomial.map.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (minpoly.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)))) -> (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) x y)) i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegralₓ'. -/
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x y : A` be elements with
 integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x * y) i)` for all
@@ -195,10 +186,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
 
 /- warning: power_basis.repr_pow_is_integral -> PowerBasis.repr_pow_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_10 : Algebra.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_11 : IsScalarTower.{u2, u1, u3} R S A (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} S A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} S A (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} S A (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} S A (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10))))) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_9)))))] {B : PowerBasis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10}, (IsIntegral.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {x : A}, (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) x) i)) -> (Eq.{succ u1} (Polynomial.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (minpoly.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (Polynomial.map.{u2, u1} R S (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5) (minpoly.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_8)))) x n)) i)))
-but is expected to have type
-  forall {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_10 : Algebra.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_11 : IsScalarTower.{u1, u3, u2} R S A (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_10) (Algebra.toSMul.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9)] {B : PowerBasis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10}, (IsIntegral.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {x : A}, (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) x) i)) -> (Eq.{succ u3} (Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (minpoly.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (Polynomial.map.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (minpoly.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) x n)) i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegralₓ'. -/
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x : A` be and element
 with integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x ^ n) i)` for
@@ -223,10 +211,7 @@ theorem repr_pow_isIntegral [IsDomain S] {x : A} (hx : ∀ i, IsIntegral R (B.Ba
 #align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegral
 
 /- warning: power_basis.to_matrix_is_integral -> PowerBasis.toMatrix_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {R : Type.{u3}} [_inst_4 : CommRing.{u3} R] [_inst_5 : Algebra.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_6 : Algebra.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1)))] [_inst_7 : IsScalarTower.{u3, u1, u2} R K S (SMulZeroClass.toHasSmul.{u3, u1} R K (AddZeroClass.toHasZero.{u1} K (AddMonoid.toAddZeroClass.{u1} K (AddCommMonoid.toAddMonoid.{u1} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} R K (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} K (AddMonoid.toAddZeroClass.{u1} K (AddCommMonoid.toAddMonoid.{u1} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} R K (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (AddZeroClass.toHasZero.{u1} K (AddMonoid.toAddZeroClass.{u1} K (AddCommMonoid.toAddMonoid.{u1} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))))))))) (Module.toMulActionWithZero.{u3, u1} R K (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1)))))) (Algebra.toModule.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) _inst_6))))) (SMulZeroClass.toHasSmul.{u1, u2} K S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} K S (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (CommSemiring.toSemiring.{u1} K (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K S (Semiring.toMonoidWithZero.{u1} K (CommSemiring.toSemiring.{u1} K (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} K S (CommSemiring.toSemiring.{u1} K (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u3, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} R S (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R S (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_5)))))] {B : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {B' : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {P : Polynomial.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_4))}, (Eq.{succ u2} S (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) S (CommRing.toCommSemiring.{u3} R _inst_4) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_4) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) _inst_5) (fun (_x : AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) S (CommRing.toCommSemiring.{u3} R _inst_4) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_4) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) _inst_5) => (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) -> S) ([anonymous].{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) S (CommRing.toCommSemiring.{u3} R _inst_4) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_4) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) _inst_5) (Polynomial.aeval.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_5 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) P) (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) -> (IsIntegral.{u3, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) -> (Eq.{succ u1} (Polynomial.{u1} K (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))))) (minpoly.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Polynomial.map.{u3, u1} R K (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_4)) (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (algebraMap.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) _inst_6) (minpoly.{u3, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)))) -> (forall (i : Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (j : Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')), IsIntegral.{u3, u1} R K _inst_4 (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1)) _inst_6 (Basis.toMatrix.{0, 0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (PowerBasis.basis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (coeFn.{max 1 (succ u1) (succ u2), succ u2} (Basis.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (fun (_x : Basis.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) => (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) -> S) (FunLike.hasCoeToFun.{max 1 (succ u1) (succ u2), 1, succ u2} (Basis.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) (fun (_x : Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) => S) (Basis.funLike.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))) (PowerBasis.basis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) i j))
-but is expected to have type
-  forall {K : Type.{u3}} {S : Type.{u2}} [_inst_1 : Field.{u3} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u3, u2} K S (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_6 : Algebra.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_4) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)))] [_inst_7 : IsScalarTower.{u1, u3, u2} R K S (Algebra.toSMul.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_4) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1))) _inst_6) (Algebra.toSMul.{u3, u2} K S (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5)] {B : PowerBasis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {B' : PowerBasis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {P : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) => S) P) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (fun (_x : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) => S) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (SMulZeroClass.toSMul.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddMonoid.toZero.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddMonoid.toAddZeroClass.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))))) (DistribMulAction.toDistribSMul.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))))) (Module.toDistribMulAction.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))) (Algebra.toModule.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))))) (SMulZeroClass.toSMul.{u1, u2} R S (AddMonoid.toZero.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u1, u2} R S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, u2} R S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))))) (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))) (Algebra.toModule.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))) (Module.toDistribMulAction.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (Module.toDistribMulAction.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))) (Algebra.toModule.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))) (Module.toDistribMulAction.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, u2, max u2 u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5 (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) (AlgHom.algHomClass.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5))))) (Polynomial.aeval.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) P) (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) -> (IsIntegral.{u1, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) -> (Eq.{succ u3} (Polynomial.{u3} K (CommSemiring.toSemiring.{u3} K (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))))) (minpoly.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Polynomial.map.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1))) (algebraMap.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_4) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1))) _inst_6) (minpoly.{u1, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)))) -> (forall (i : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (j : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')), IsIntegral.{u1, u3} R K _inst_4 (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_1)) _inst_6 (Basis.toMatrix.{0, 0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} K S (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (PowerBasis.basis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (FunLike.coe.{max (succ u3) (succ u2), 1, succ u2} (Basis.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (CommSemiring.toSemiring.{u3} K (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} K S (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) (fun (_x : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) => S) _x) (Basis.funLike.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (CommSemiring.toSemiring.{u3} K (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} K S (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (PowerBasis.basis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) i j))
+<too large>
 Case conversion may be inaccurate. Consider using '#align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegralₓ'. -/
 /-- Let `B B' : power_basis K S` be such that `is_integral R B.gen`, and let `P : R[X]` be such that
 `aeval B.gen P = B'.gen`. Then `is_integral R (B.basis.to_matrix B'.basis i j)` for all `i` and `j`
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Anne Baanen
 
 ! This file was ported from Lean 3 source module ring_theory.adjoin.power_basis
-! leanprover-community/mathlib commit 825edd3cd735e87495b0c2a2114fc3929eefce41
+! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.LinearAlgebra.Matrix.Basis
 /-!
 # Power basis for `algebra.adjoin R {x}`
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines the canonical power basis on `algebra.adjoin R {x}`,
 where `x` is an integral element over `R`.
 -/
Diff
@@ -30,6 +30,12 @@ open PowerBasis
 
 open BigOperators
 
+/- warning: algebra.adjoin.power_basis_aux -> Algebra.adjoin.powerBasisAux is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Basis.{0, u1, u2} (Fin (Polynomial.natDegree.{u1} K (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (minpoly.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x))) K (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (NonUnitalNonAssocRing.toAddCommGroup.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Ring.toNonAssocRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Subalgebra.toRing.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))))))) (Subalgebra.module.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))))
+but is expected to have type
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Basis.{0, u1, u2} (Fin (Polynomial.natDegree.{u1} K (CommSemiring.toSemiring.{u1} K (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (minpoly.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x))) K (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (Ring.toNonAssocRing.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (CommRing.toRing.{u2} (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (SubringClass.toCommRing.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)) S _inst_2 (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Subalgebra.instSubringClassSubalgebraToCommSemiringToSemiringInstSetLikeSubalgebra.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3))))))) (Subalgebra.instModuleSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToNonAssocSemiringToSubsemiring.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))))
+Case conversion may be inaccurate. Consider using '#align algebra.adjoin.power_basis_aux Algebra.adjoin.powerBasisAuxₓ'. -/
 /-- The elements `1, x, ..., x ^ (d - 1)` for a basis for the `K`-module `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. -/
 noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
@@ -59,6 +65,12 @@ noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
       exact aeval_algebra_map_apply S (⟨x, _⟩ : adjoin K {x}) _
 #align algebra.adjoin.power_basis_aux Algebra.adjoin.powerBasisAux
 
+/- warning: algebra.adjoin.power_basis -> Algebra.adjoin.powerBasis is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (PowerBasis.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (Subalgebra.toRing.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) (Subalgebra.algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))))
+but is expected to have type
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {x : S}, (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (PowerBasis.{u1, u2} K (Subtype.{succ u2} S (fun (x_1 : S) => Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) x_1 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x)))) (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (Subalgebra.toRing.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))) (Subalgebra.algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))))
+Case conversion may be inaccurate. Consider using '#align algebra.adjoin.power_basis Algebra.adjoin.powerBasisₓ'. -/
 /-- The power basis `1, x, ..., x ^ (d - 1)` for `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. See `algebra.adjoin.power_basis'` for
 a version over a more general base ring. -/
@@ -76,6 +88,12 @@ end Algebra
 
 open Algebra
 
+/- warning: power_basis.of_gen_mem_adjoin -> PowerBasis.ofGenMemAdjoin is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {x : S} (B : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3), (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Membership.Mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (SetLike.hasMem.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) S (Subalgebra.setLike.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) x))) -> (PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3)
+but is expected to have type
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {x : S} (B : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3), (IsIntegral.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 x) -> (Membership.mem.{u2, u2} S (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) S (Subalgebra.instSetLikeSubalgebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (Algebra.adjoin.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) x))) -> (PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3)
+Case conversion may be inaccurate. Consider using '#align power_basis.of_gen_mem_adjoin PowerBasis.ofGenMemAdjoinₓ'. -/
 /-- The power basis given by `x` if `B.gen ∈ adjoin K {x}`. See `power_basis.of_gen_mem_adjoin'`
 for a version over a more general base ring. -/
 @[simps]
@@ -102,6 +120,12 @@ variable [IsScalarTower R S A] {B : PowerBasis S A} (hB : IsIntegral R B.gen)
 
 include hB
 
+/- warning: power_basis.repr_gen_pow_is_integral -> PowerBasis.repr_gen_pow_isIntegral is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_10 : Algebra.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_11 : IsScalarTower.{u2, u1, u3} R S A (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} S A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} S A (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} S A (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} S A (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10))))) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_9)))))] {B : PowerBasis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10}, (IsIntegral.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))], (Eq.{succ u1} (Polynomial.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (minpoly.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (Polynomial.map.{u2, u1} R S (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5) (minpoly.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_8)))) (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B) n)) i)))
+but is expected to have type
+  forall {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_10 : Algebra.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_11 : IsScalarTower.{u1, u3, u2} R S A (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_10) (Algebra.toSMul.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9)] {B : PowerBasis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10}, (IsIntegral.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))], (Eq.{succ u3} (Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (minpoly.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (Polynomial.map.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (minpoly.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B) n)) i)))
+Case conversion may be inaccurate. Consider using '#align power_basis.repr_gen_pow_is_integral PowerBasis.repr_gen_pow_isIntegralₓ'. -/
 /-- If `B : power_basis S A` is such that `is_integral R B.gen`, then
 `is_integral R (B.basis.repr (B.gen ^ n) i)` for all `i` if
 `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case if `R` is a GCD domain
@@ -141,6 +165,12 @@ theorem repr_gen_pow_isIntegral [IsDomain S]
 
 variable {B}
 
+/- warning: power_basis.repr_mul_is_integral -> PowerBasis.repr_mul_isIntegral is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_10 : Algebra.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_11 : IsScalarTower.{u2, u1, u3} R S A (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} S A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} S A (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} S A (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} S A (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10))))) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_9)))))] {B : PowerBasis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10}, (IsIntegral.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {x : A} {y : A}, (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) x) i)) -> (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) y) i)) -> (Eq.{succ u1} (Polynomial.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (minpoly.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (Polynomial.map.{u2, u1} R S (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5) (minpoly.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)))) -> (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (HMul.hMul.{u3, u3, u3} A A A (instHMul.{u3} A (Distrib.toHasMul.{u3} A (Ring.toDistrib.{u3} A (CommRing.toRing.{u3} A _inst_8)))) x y)) i)))
+but is expected to have type
+  forall {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_10 : Algebra.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_11 : IsScalarTower.{u1, u3, u2} R S A (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_10) (Algebra.toSMul.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9)] {B : PowerBasis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10}, (IsIntegral.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {x : A} {y : A}, (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) x) i)) -> (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) y) i)) -> (Eq.{succ u3} (Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (minpoly.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (Polynomial.map.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (minpoly.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)))) -> (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) x y)) i)))
+Case conversion may be inaccurate. Consider using '#align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegralₓ'. -/
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x y : A` be elements with
 integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x * y) i)` for all
 `i` if `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case if `R` is a GCD
@@ -161,6 +191,12 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   refine' repr_gen_pow_is_integral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
 
+/- warning: power_basis.repr_pow_is_integral -> PowerBasis.repr_pow_isIntegral is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] [_inst_5 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {A : Type.{u3}} [_inst_8 : CommRing.{u3} A] [_inst_9 : Algebra.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_10 : Algebra.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))] [_inst_11 : IsScalarTower.{u2, u1, u3} R S A (SMulZeroClass.toHasSmul.{u2, u1} R S (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u1} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u1} S (AddMonoid.toAddZeroClass.{u1} S (AddCommMonoid.toAddMonoid.{u1} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} S A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} S A (MulZeroClass.toHasZero.{u1} S (MulZeroOneClass.toMulZeroClass.{u1} S (MonoidWithZero.toMulZeroOneClass.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} S A (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u1, u3} S A (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10))))) (SMulZeroClass.toHasSmul.{u2, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R A (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R A (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)))))))) (Module.toMulActionWithZero.{u2, u3} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u2, u3} R A (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_9)))))] {B : PowerBasis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10}, (IsIntegral.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {x : A}, (forall (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) x) i)) -> (Eq.{succ u1} (Polynomial.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (minpoly.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (Polynomial.map.{u2, u1} R S (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_4) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_5) (minpoly.{u2, u3} R A _inst_4 (CommRing.toRing.{u3} A _inst_8) _inst_9 (PowerBasis.gen.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)), IsIntegral.{u2, u1} R S _inst_4 (CommRing.toRing.{u1} S _inst_2) _inst_5 (coeFn.{succ u1, succ u1} (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (fun (_x : Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) => (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) -> S) (Finsupp.coeFun.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (fun (_x : LinearEquiv.{u1, u1, u3, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) => A -> (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, u1} S S A (Finsupp.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (MulZeroClass.toHasZero.{u1} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Finsupp.addCommMonoid.{0, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (Finsupp.module.{0, u1, u1} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHom.id.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHomInvPair.ids.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Basis.repr.{0, u1, u3} (Fin (PowerBasis.dim.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) S A (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} A (NonUnitalNonAssocRing.toAddCommGroup.{u3} A (NonAssocRing.toNonUnitalNonAssocRing.{u3} A (Ring.toNonAssocRing.{u3} A (CommRing.toRing.{u3} A _inst_8))))) (Algebra.toModule.{u1, u3} S A (CommRing.toCommSemiring.{u1} S _inst_2) (Ring.toSemiring.{u3} A (CommRing.toRing.{u3} A _inst_8)) _inst_10) (PowerBasis.basis.{u1, u3} S A _inst_2 (CommRing.toRing.{u3} A _inst_8) _inst_10 B)) (HPow.hPow.{u3, 0, u3} A Nat A (instHPow.{u3, 0} A Nat (Monoid.Pow.{u3} A (Ring.toMonoid.{u3} A (CommRing.toRing.{u3} A _inst_8)))) x n)) i)))
+but is expected to have type
+  forall {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {A : Type.{u2}} [_inst_8 : CommRing.{u2} A] [_inst_9 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_10 : Algebra.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8))] [_inst_11 : IsScalarTower.{u1, u3, u2} R S A (Algebra.toSMul.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_10) (Algebra.toSMul.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)) _inst_9)] {B : PowerBasis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10}, (IsIntegral.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) -> (forall [_inst_12 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {x : A}, (forall (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) x) i)) -> (Eq.{succ u3} (Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (minpoly.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (Polynomial.map.{u1, u3} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_5) (minpoly.{u1, u2} R A _inst_4 (CommRing.toRing.{u2} A _inst_8) _inst_9 (PowerBasis.gen.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)))) -> (forall (n : Nat) (i : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)), IsIntegral.{u1, u3} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_4 (CommRing.toRing.{u3} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) i) _inst_2) _inst_5 (FunLike.coe.{succ u3, 1, succ u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (fun (_x : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) => S) _x) (Finsupp.funLike.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : A) => Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) _x) (SMulHomClass.toFunLike.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} S A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribSMul.toSMulZeroClass.{u3, u2} S A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))))) (DistribMulAction.toDistribSMul.{u3, u2} S A (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10))))) (SMulZeroClass.toSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toZero.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddMonoid.toAddZeroClass.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u2, u3, u2, u3} (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8)))))) (AddCommMonoid.toAddMonoid.{u3} (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (Module.toDistribMulAction.{u3, u2} S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10)) (Module.toDistribMulAction.{u3, u3} S (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u3, max u3 u2} S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, u2, u3, max u3 u2} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (LinearEquiv.{u3, u3, u2, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, u2, u3} S S A (Finsupp.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Finsupp.addCommMonoid.{0, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (Finsupp.module.{0, u3, u3} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHomInvPair.ids.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Basis.repr.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) S A (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_8))))) (Algebra.toModule.{u3, u2} S A (CommRing.toCommSemiring.{u3} S _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_8)) _inst_10) (PowerBasis.basis.{u3, u2} S A _inst_2 (CommRing.toRing.{u2} A _inst_8) _inst_10 B)) (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (MonoidWithZero.toMonoid.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_8)))))) x n)) i)))
+Case conversion may be inaccurate. Consider using '#align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegralₓ'. -/
 /-- Let `B : power_basis S A` be such that `is_integral R B.gen`, and let `x : A` be and element
 with integral coordinates in the base `B.basis`. Then `is_integral R ((B.basis.repr (x ^ n) i)` for
 all `i` and all `n` if `minpoly S B.gen = (minpoly R B.gen).map (algebra_map R S)`. This is the case
@@ -183,6 +219,12 @@ theorem repr_pow_isIntegral [IsDomain S] {x : A} (hx : ∀ i, IsIntegral R (B.Ba
     exact repr_mul_is_integral hB hx (fun _ => hn _ le_rfl (fun _ => hx _) _) hmin
 #align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegral
 
+/- warning: power_basis.to_matrix_is_integral -> PowerBasis.toMatrix_isIntegral is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {S : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {R : Type.{u3}} [_inst_4 : CommRing.{u3} R] [_inst_5 : Algebra.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_6 : Algebra.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1)))] [_inst_7 : IsScalarTower.{u3, u1, u2} R K S (SMulZeroClass.toHasSmul.{u3, u1} R K (AddZeroClass.toHasZero.{u1} K (AddMonoid.toAddZeroClass.{u1} K (AddCommMonoid.toAddMonoid.{u1} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} R K (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)))))) (AddZeroClass.toHasZero.{u1} K (AddMonoid.toAddZeroClass.{u1} K (AddCommMonoid.toAddMonoid.{u1} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} R K (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (AddZeroClass.toHasZero.{u1} K (AddMonoid.toAddZeroClass.{u1} K (AddCommMonoid.toAddMonoid.{u1} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))))))))) (Module.toMulActionWithZero.{u3, u1} R K (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1)))))) (Algebra.toModule.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) _inst_6))))) (SMulZeroClass.toHasSmul.{u1, u2} K S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} K S (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (CommSemiring.toSemiring.{u1} K (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K S (Semiring.toMonoidWithZero.{u1} K (CommSemiring.toSemiring.{u1} K (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} K S (CommSemiring.toSemiring.{u1} K (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u3, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} R S (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R S (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_5)))))] {B : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {B' : PowerBasis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {P : Polynomial.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_4))}, (Eq.{succ u2} S (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) S (CommRing.toCommSemiring.{u3} R _inst_4) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_4) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) _inst_5) (fun (_x : AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) S (CommRing.toCommSemiring.{u3} R _inst_4) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_4) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) _inst_5) => (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) -> S) ([anonymous].{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) S (CommRing.toCommSemiring.{u3} R _inst_4) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_4) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_4))) _inst_5) (Polynomial.aeval.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_5 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) P) (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) -> (IsIntegral.{u3, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) -> (Eq.{succ u1} (Polynomial.{u1} K (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))))) (minpoly.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Polynomial.map.{u3, u1} R K (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_4)) (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (algebraMap.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_4) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) _inst_6) (minpoly.{u3, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)))) -> (forall (i : Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (j : Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')), IsIntegral.{u3, u1} R K _inst_4 (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1)) _inst_6 (Basis.toMatrix.{0, 0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (PowerBasis.basis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (coeFn.{max 1 (succ u1) (succ u2), succ u2} (Basis.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (fun (_x : Basis.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) => (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) -> S) (FunLike.hasCoeToFun.{max 1 (succ u1) (succ u2), 1, succ u2} (Basis.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) (fun (_x : Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) => S) (Basis.funLike.{0, u1, u2} (Fin (PowerBasis.dim.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Ring.toSemiring.{u1} K (CommRing.toRing.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} K S (CommRing.toCommSemiring.{u1} K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))) (PowerBasis.basis.{u1, u2} K S (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) i j))
+but is expected to have type
+  forall {K : Type.{u3}} {S : Type.{u2}} [_inst_1 : Field.{u3} K] [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u3, u2} K S (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] [_inst_5 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_6 : Algebra.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_4) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)))] [_inst_7 : IsScalarTower.{u1, u3, u2} R K S (Algebra.toSMul.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_4) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1))) _inst_6) (Algebra.toSMul.{u3, u2} K S (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5)] {B : PowerBasis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {B' : PowerBasis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3} {P : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) => S) P) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (fun (_x : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) => S) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (SMulZeroClass.toSMul.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddMonoid.toZero.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddMonoid.toAddZeroClass.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))))) (DistribMulAction.toDistribSMul.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))))) (Module.toDistribMulAction.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))) (Algebra.toModule.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))))) (SMulZeroClass.toSMul.{u1, u2} R S (AddMonoid.toZero.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u1, u2} R S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, u2} R S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))))) (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))) (Algebra.toModule.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))) (Module.toDistribMulAction.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (Module.toDistribMulAction.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)))))) (Algebra.toModule.{u1, u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))))) (Module.toDistribMulAction.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, u2, max u2 u1} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5 (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5) (AlgHom.algHomClass.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) S (CommRing.toCommSemiring.{u1} R _inst_4) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4))) _inst_5))))) (Polynomial.aeval.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_5 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) P) (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) -> (IsIntegral.{u1, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) -> (Eq.{succ u3} (Polynomial.{u3} K (CommSemiring.toSemiring.{u3} K (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))))) (minpoly.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Polynomial.map.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_4)) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1))) (algebraMap.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_4) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1))) _inst_6) (minpoly.{u1, u2} R S _inst_4 (CommRing.toRing.{u2} S _inst_2) _inst_5 (PowerBasis.gen.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)))) -> (forall (i : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (j : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')), IsIntegral.{u1, u3} R K _inst_4 (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_1)) _inst_6 (Basis.toMatrix.{0, 0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B)) (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} K S (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (PowerBasis.basis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B) (FunLike.coe.{max (succ u3) (succ u2), 1, succ u2} (Basis.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (CommSemiring.toSemiring.{u3} K (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} K S (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) (fun (_x : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) => S) _x) (Basis.funLike.{0, u3, u2} (Fin (PowerBasis.dim.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) K S (CommSemiring.toSemiring.{u3} K (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} K S (CommRing.toCommSemiring.{u3} K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (PowerBasis.basis.{u3, u2} K S (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_1)) (CommRing.toRing.{u2} S _inst_2) _inst_3 B')) i j))
+Case conversion may be inaccurate. Consider using '#align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegralₓ'. -/
 /-- Let `B B' : power_basis K S` be such that `is_integral R B.gen`, and let `P : R[X]` be such that
 `aeval B.gen P = B'.gen`. Then `is_integral R (B.basis.to_matrix B'.basis i j)` for all `i` and `j`
 if `minpoly K B.gen = (minpoly R B.gen).map (algebra_map R L)`. This is the case

Changes in mathlib4

mathlib3
mathlib4
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
@@ -163,7 +163,7 @@ theorem repr_pow_isIntegral [IsDomain S] {x : A} (hx : ∀ i, IsIntegral R (B.ba
     · exact isIntegral_zero
   · intro hx
     rw [pow_succ]
-    exact repr_mul_isIntegral hB hx (fun _ => hn _ le_rfl (fun _ => hx _) _) hmin
+    exact repr_mul_isIntegral hB (fun _ => hn _ le_rfl (fun _ => hx _) _) hx hmin
 #align power_basis.repr_pow_is_integral PowerBasis.repr_pow_isIntegral
 
 /-- Let `B B' : PowerBasis K S` be such that `IsIntegral R B.gen`, and let `P : R[X]` be such that
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
@@ -87,9 +87,7 @@ open Polynomial
 open Polynomial
 
 variable {R : Type*} [CommRing R] [Algebra R S] [Algebra R K] [IsScalarTower R K S]
-
 variable {A : Type*} [CommRing A] [Algebra R A] [Algebra S A]
-
 variable [IsScalarTower R S A] {B : PowerBasis S A} (hB : IsIntegral R B.gen)
 
 /-- If `B : PowerBasis S A` is such that `IsIntegral R B.gen`, then
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -141,7 +141,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
   refine (hy _).mul ((hx _).mul ?_)
   simp only [coe_basis, ← pow_add]
-  refine' repr_gen_pow_isIntegral hB hmin _ _
+  exact repr_gen_pow_isIntegral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
 
 /-- Let `B : PowerBasis S A` be such that `IsIntegral R B.gen`, and let `x : A` be an element
chore: Relocate big operator lemmas (#9383)

A bunch of lemmas in Algebra.BigOperators.Ring were not about rings. This PR moves them along with some lemmas from Data.Fintype.BigOperators to their correct place.

I create a new file with the content from #6605 to avoid importing Fin material in finset files as a result.

From LeanAPAP

Diff
@@ -134,7 +134,8 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
     (hmin : minpoly S B.gen = (minpoly R B.gen).map (algebraMap R S)) :
     ∀ i, IsIntegral R (B.basis.repr (x * y) i) := by
   intro i
-  rw [← B.basis.sum_repr x, ← B.basis.sum_repr y, Finset.sum_mul_sum, map_sum, Finset.sum_apply']
+  rw [← B.basis.sum_repr x, ← B.basis.sum_repr y, Finset.sum_mul_sum, ← Finset.sum_product',
+    map_sum, Finset.sum_apply']
   refine' IsIntegral.sum _ fun I _ => _
   simp only [Algebra.smul_mul_assoc, Algebra.mul_smul_comm, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
chore(IntegralClosure): noncommutative generalizations and golfs (#8406)

Zulip

Initially I just wanted to add more dot notations for IsIntegral and IsAlgebraic (done in #8437); then I noticed near-duplicates Algebra.isIntegral_of_finite [Field R] [Ring A] and RingHom.IsIntegral.of_finite [CommRing R] [CommRing A] so I went on to generalize the latter to cover the former, and generalized everything in the IntegralClosure file to the noncommutative case whenever possible.

In the process I noticed more golfs, which result in this PR. Most notably, isIntegral_of_mem_of_FG is now proven using Cayley-Hamilton and doesn't depend on the Noetherian case isIntegral_of_noetherian; the latter is now proven using the former. In total the golfs makes mathlib 227 lines leaner (+487 -714).

The main changes are in the single file RingTheory/IntegralClosure:

  • Change the definition of Algebra.IsIntegral which makes it unfold to IsIntegral rather than RingHom.IsIntegralElem because the former has much more APIs.

  • Fix lemma names involving is_integral which are actually about IsIntegralElem: RingHom.is_integral_mapRingHom.isIntegralElem_map RingHom.is_integral_of_mem_closureRingHom.IsIntegralElem.of_mem_closure RingHom.is_integral_zero/oneRingHom.isIntegralElem_zero/one RingHom.is_integral_add/neg/sub/mul/of_mul_unitRingHom.IsIntegralElem.add/neg/sub/mul/of_mul_unit

  • Add a lemma Algebra.IsIntegral.of_injective.

  • Move isIntegral_of_(submodule_)noetherian down and golf them.

  • Remove (Algebra.)isIntegral_of_finite that work only over fields, in favor of the more general (Algebra.)isIntegral.of_finite.

  • Merge duplicate lemmas isIntegral_of_isScalarTower and isIntegral_tower_top_of_isIntegral into IsIntegral.tower_top.

  • Golf IsIntegral.of_mem_of_fg by first proving IsIntegral.of_finite using Cayley-Hamilton.

  • Add a docstring mentioning the Kurosh problem at Algebra.IsIntegral.finite. The negative solution to the problem means the theorem doesn't generalize to noncommutative algebras.

  • Golf IsIntegral.tmul and isField_of_isIntegral_of_isField(').

  • Combine isIntegral_trans_aux into isIntegral_trans and golf.

  • Add Algebra namespace to isIntegral_sup.

  • rename lemmas for dot notation: RingHom.isIntegral_transRingHom.IsIntegral.trans RingHom.isIntegral_quotient/tower_bot/top_of_isIntegralRingHom.IsIntegral.quotient/tower_bot/top isIntegral_of_mem_closure'IsIntegral.of_mem_closure' (and the '' version) isIntegral_of_surjectiveAlgebra.isIntegral_of_surjective

The next changed file is RingTheory/Algebraic:

  • Rename: of_larger_basetower_top (for consistency with IsIntegral) Algebra.isAlgebraic_of_finiteAlgebra.IsAlgebraic.of_finite Algebra.isAlgebraic_transAlgebra.IsAlgebraic.trans

  • Add new lemmasAlgebra.IsIntegral.isAlgebraic, isAlgebraic_algHom_iff, and Algebra.IsAlgebraic.of_injective to streamline some proofs.

The generalization from CommRing to Ring requires an additional lemma scaleRoots_eval₂_mul_of_commute in Polynomial/ScaleRoots.

A lemma Algebra.lmul_injective is added to Algebra/Bilinear (in order to golf the proof of IsIntegral.of_mem_of_fg).

In all other files, I merely fix the changed names, or use newly available dot notations.

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

Diff
@@ -138,7 +138,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   refine' IsIntegral.sum _ fun I _ => _
   simp only [Algebra.smul_mul_assoc, Algebra.mul_smul_comm, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
-  refine' IsIntegral.mul (hy _) (IsIntegral.mul (hx _) _)
+  refine (hy _).mul ((hx _).mul ?_)
   simp only [coe_basis, ← pow_add]
   refine' repr_gen_pow_isIntegral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
@@ -181,7 +181,7 @@ theorem toMatrix_isIntegral {B B' : PowerBasis K S} {P : R[X]} (h : aeval B.gen
   refine' IsIntegral.sum _ fun n _ => _
   rw [Algebra.smul_def, IsScalarTower.algebraMap_apply R K S, ← Algebra.smul_def,
     LinearEquiv.map_smul, algebraMap_smul]
-  exact IsIntegral.smul _ (repr_gen_pow_isIntegral hB hmin _ _)
+  exact (repr_gen_pow_isIntegral hB hmin _ _).smul _
 #align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegral
 
 end PowerBasis
chore(RingTheory/{Algebraic, Localization/Integral}): rename decls to use dot notation (#8437)

This PR tests a string-based tool for renaming declarations.

Inspired by this Zulip thread, I am trying to reduce the diff of #8406.

This PR makes the following renames:

| From | To |

Diff
@@ -138,7 +138,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   refine' IsIntegral.sum _ fun I _ => _
   simp only [Algebra.smul_mul_assoc, Algebra.mul_smul_comm, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
-  refine' isIntegral_mul (hy _) (isIntegral_mul (hx _) _)
+  refine' IsIntegral.mul (hy _) (IsIntegral.mul (hx _) _)
   simp only [coe_basis, ← pow_add]
   refine' repr_gen_pow_isIntegral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
@@ -181,7 +181,7 @@ theorem toMatrix_isIntegral {B B' : PowerBasis K S} {P : R[X]} (h : aeval B.gen
   refine' IsIntegral.sum _ fun n _ => _
   rw [Algebra.smul_def, IsScalarTower.algebraMap_apply R K S, ← Algebra.smul_def,
     LinearEquiv.map_smul, algebraMap_smul]
-  exact isIntegral_smul _ (repr_gen_pow_isIntegral hB hmin _ _)
+  exact IsIntegral.smul _ (repr_gen_pow_isIntegral hB hmin _ _)
 #align power_basis.to_matrix_is_integral PowerBasis.toMatrix_isIntegral
 
 end PowerBasis
chore: tidy various files (#7359)
Diff
@@ -26,8 +26,6 @@ open Polynomial
 open PowerBasis
 
 
--- Porting note:
-
 /-- The elements `1, x, ..., x ^ (d - 1)` for a basis for the `K`-module `K[x]`,
 where `d` is the degree of the minimal polynomial of `x`. -/
 noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
chore: replace minpoly.eq_of_algebraMap_eq by algebraMap_eq (#7228)

Also changes the repetitive names minpoly.minpoly_algHom/Equiv to minpoly.algHom/Equiv_eq

Diff
@@ -37,16 +37,15 @@ noncomputable def adjoin.powerBasisAux {x : S} (hx : IsIntegral K x) :
     IsIntegral K (⟨x, subset_adjoin (Set.mem_singleton x)⟩ : adjoin K ({x} : Set S)) := by
     apply (isIntegral_algebraMap_iff hST).mp
     convert hx
-  have minpoly_eq := minpoly.eq_of_algebraMap_eq hST hx' rfl
   apply
     @Basis.mk (Fin (minpoly K x).natDegree) _ (adjoin K {x}) fun i =>
       ⟨x, subset_adjoin (Set.mem_singleton x)⟩ ^ (i : ℕ)
   · have : LinearIndependent K _ := linearIndependent_pow
       (⟨x, self_mem_adjoin_singleton _ _⟩ : adjoin K {x})
-    rwa [minpoly_eq] at this
+    rwa [← minpoly.algebraMap_eq hST] at this
   · rintro ⟨y, hy⟩ _
     have := hx'.mem_span_pow (y := ⟨y, hy⟩)
-    rw [minpoly_eq] at this
+    rw [← minpoly.algebraMap_eq hST] at this
     apply this
     · rw [adjoin_singleton_eq_range_aeval] at hy
       obtain ⟨f, rfl⟩ := (aeval x).mem_range.mp hy
chore: use _root_.map_sum more consistently (#7189)

Also _root_.map_smul when in the neighbourhood.

Diff
@@ -115,7 +115,7 @@ theorem repr_gen_pow_isIntegral [IsDomain S]
     letI : Nontrivial R := Nontrivial.of_polynomial_ne hQ
     exact degree_modByMonic_lt _ (minpoly.monic hB)
   rw [this, aeval_eq_sum_range' hlt]
-  simp only [LinearEquiv.map_sum, LinearEquiv.map_smulₛₗ, RingHom.id_apply, Finset.sum_apply']
+  simp only [map_sum, LinearEquiv.map_smulₛₗ, RingHom.id_apply, Finset.sum_apply']
   refine' IsIntegral.sum _ fun j hj => _
   replace hj := Finset.mem_range.1 hj
   rw [← Fin.val_mk hj, ← B.basis_eq_pow, Algebra.smul_def, IsScalarTower.algebraMap_apply R S A, ←
@@ -137,8 +137,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
     (hmin : minpoly S B.gen = (minpoly R B.gen).map (algebraMap R S)) :
     ∀ i, IsIntegral R (B.basis.repr (x * y) i) := by
   intro i
-  rw [← B.basis.sum_repr x, ← B.basis.sum_repr y, Finset.sum_mul_sum, LinearEquiv.map_sum,
-    Finset.sum_apply']
+  rw [← B.basis.sum_repr x, ← B.basis.sum_repr y, Finset.sum_mul_sum, map_sum, Finset.sum_apply']
   refine' IsIntegral.sum _ fun I _ => _
   simp only [Algebra.smul_mul_assoc, Algebra.mul_smul_comm, LinearEquiv.map_smulₛₗ,
     RingHom.id_apply, Finsupp.coe_smul, Pi.smul_apply, id.smul_eq_mul]
@@ -181,7 +180,7 @@ theorem toMatrix_isIntegral {B B' : PowerBasis K S} {P : R[X]} (h : aeval B.gen
   intro i j
   rw [B.basis.toMatrix_apply, B'.coe_basis]
   refine' repr_pow_isIntegral hB (fun i => _) hmin _ _
-  rw [← h, aeval_eq_sum_range, LinearEquiv.map_sum, Finset.sum_apply']
+  rw [← h, aeval_eq_sum_range, map_sum, Finset.sum_apply']
   refine' IsIntegral.sum _ fun n _ => _
   rw [Algebra.smul_def, IsScalarTower.algebraMap_apply R K S, ← Algebra.smul_def,
     LinearEquiv.map_smul, algebraMap_smul]
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
@@ -17,7 +17,7 @@ where `x` is an integral element over `R`.
 -/
 
 
-variable {K S : Type _} [Field K] [CommRing S] [Algebra K S]
+variable {K S : Type*} [Field K] [CommRing S] [Algebra K S]
 
 namespace Algebra
 
@@ -89,9 +89,9 @@ open Polynomial
 
 open Polynomial
 
-variable {R : Type _} [CommRing R] [Algebra R S] [Algebra R K] [IsScalarTower R K S]
+variable {R : Type*} [CommRing R] [Algebra R S] [Algebra R K] [IsScalarTower R K S]
 
-variable {A : Type _} [CommRing A] [Algebra R A] [Algebra S A]
+variable {A : Type*} [CommRing A] [Algebra R A] [Algebra S A]
 
 variable [IsScalarTower R S A] {B : PowerBasis S A} (hB : IsIntegral R B.gen)
 
chore: fix grammar mistakes (#6121)
Diff
@@ -147,7 +147,7 @@ theorem repr_mul_isIntegral [IsDomain S] {x y : A} (hx : ∀ i, IsIntegral R (B.
   refine' repr_gen_pow_isIntegral hB hmin _ _
 #align power_basis.repr_mul_is_integral PowerBasis.repr_mul_isIntegral
 
-/-- Let `B : PowerBasis S A` be such that `IsIntegral R B.gen`, and let `x : A` be and element
+/-- Let `B : PowerBasis S A` be such that `IsIntegral R B.gen`, and let `x : A` be an element
 with integral coordinates in the base `B.basis`. Then `IsIntegral R ((B.basis.repr (x ^ n) i)` for
 all `i` and all `n` if `minpoly S B.gen = (minpoly R B.gen).map (algebraMap R S)`. This is the case
 if `R` is a GCD domain and `S` is its fraction ring. -/
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,16 +2,13 @@
 Copyright (c) 2021 Anne Baanen. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Anne Baanen
-
-! This file was ported from Lean 3 source module ring_theory.adjoin.power_basis
-! leanprover-community/mathlib commit 825edd3cd735e87495b0c2a2114fc3929eefce41
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.RingTheory.Adjoin.Basic
 import Mathlib.RingTheory.PowerBasis
 import Mathlib.LinearAlgebra.Matrix.Basis
 
+#align_import ring_theory.adjoin.power_basis from "leanprover-community/mathlib"@"825edd3cd735e87495b0c2a2114fc3929eefce41"
+
 /-!
 # Power basis for `Algebra.adjoin R {x}`
 
feat: port RingTheory.Adjoin.PowerBasis (#4279)

Dependencies 10 + 633

634 files ported (98.4%)
265832 lines ported (98.7%)
Show graph

The unported dependencies are