ring_theory.adjoin.power_basis
⟷
Mathlib.RingTheory.Adjoin.PowerBasis
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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}`
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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`
mathlib commit https://github.com/leanprover-community/mathlib/commit/e1a18cad9cd462973d760af7de36b05776b8811c
@@ -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`.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
We change the following field in the definition of an additive commutative monoid:
nsmul_succ : ∀ (n : ℕ) (x : G),
- AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+ AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
where the latter is more natural
We adjust the definitions of ^
in monoids, groups, etc.
Originally there was a warning comment about why this natural order was preferred
use
x * npowRec n x
and notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
is blocked, to avoid deep recursion issues.
but it seems to no longer apply.
Remarks on the PR :
pow_succ
and pow_succ'
have switched their meanings.Ideal.IsPrime.mul_mem_pow
which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul
.@@ -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
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)
@@ -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
refine
s (#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 refine
s, but maybe the current change is beneficial.
@@ -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
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
@@ -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]
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_map
→ RingHom.isIntegralElem_map
RingHom.is_integral_of_mem_closure
→ RingHom.IsIntegralElem.of_mem_closure
RingHom.is_integral_zero/one
→ RingHom.isIntegralElem_zero/one
RingHom.is_integral_add/neg/sub/mul/of_mul_unit
→ RingHom.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_trans
→ RingHom.IsIntegral.trans
RingHom.isIntegral_quotient/tower_bot/top_of_isIntegral
→ RingHom.IsIntegral.quotient/tower_bot/top
isIntegral_of_mem_closure'
→ IsIntegral.of_mem_closure'
(and the '' version)
isIntegral_of_surjective
→ Algebra.isIntegral_of_surjective
The next changed file is RingTheory/Algebraic:
Rename:
of_larger_base
→ tower_top
(for consistency with IsIntegral
)
Algebra.isAlgebraic_of_finite
→ Algebra.IsAlgebraic.of_finite
Algebra.isAlgebraic_trans
→ Algebra.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>
@@ -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
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 |
@@ -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
@@ -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) :
minpoly.eq_of_algebraMap_eq
by algebraMap_eq
(#7228)
Also changes the repetitive names minpoly.minpoly_algHom/Equiv
to minpoly.algHom/Equiv_eq
@@ -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
_root_.map_sum
more consistently (#7189)
Also _root_.map_smul
when in the neighbourhood.
@@ -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]
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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)
@@ -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. -/
@@ -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}`
The unported dependencies are