linear_algebra.tensor_product_basisMathlib.LinearAlgebra.TensorProduct.Basis

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

feat(linear_algebra/tensor_product/matrix): connect with matrix.kronecker (#18616)

This shows that to_matrix _ _ (tensor_product.map f g) = to_matrix _ _ f ⊗ₖ to_matrix _ _ g , and the equivalent statement for to_lin.

Diff
@@ -40,4 +40,10 @@ lemma basis.tensor_product_apply' (b : basis ι R M) (c : basis κ R N) (i : ι
   basis.tensor_product b c i = b i.1 ⊗ₜ c i.2 :=
 by simp [basis.tensor_product]
 
+@[simp]
+lemma basis.tensor_product_repr_tmul_apply (b : basis ι R M) (c : basis κ R N)
+  (m : M) (n : N) (i : ι) (j : κ) :
+  (basis.tensor_product b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j :=
+by simp [basis.tensor_product]
+
 end comm_ring

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2021 Jakob von Raumer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jakob von Raumer
 -/
-import Mathbin.LinearAlgebra.DirectSum.Finsupp
-import Mathbin.LinearAlgebra.FinsuppVectorSpace
+import LinearAlgebra.DirectSum.Finsupp
+import LinearAlgebra.FinsuppVectorSpace
 
 #align_import linear_algebra.tensor_product_basis from "leanprover-community/mathlib"@"f784cc6142443d9ee623a20788c282112c322081"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 Jakob von Raumer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jakob von Raumer
-
-! This file was ported from Lean 3 source module linear_algebra.tensor_product_basis
-! leanprover-community/mathlib commit f784cc6142443d9ee623a20788c282112c322081
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.DirectSum.Finsupp
 import Mathbin.LinearAlgebra.FinsuppVectorSpace
 
+#align_import linear_algebra.tensor_product_basis from "leanprover-community/mathlib"@"f784cc6142443d9ee623a20788c282112c322081"
+
 /-!
 # Bases and dimensionality of tensor products of modules
 
Diff
@@ -33,6 +33,7 @@ variable {R : Type _} {M : Type _} {N : Type _} {ι : Type _} {κ : Type _}
 
 variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
 
+#print Basis.tensorProduct /-
 /-- If b : ι → M and c : κ → N are bases then so is λ i, b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
     Basis (ι × κ) R (TensorProduct R M N) :=
@@ -41,21 +42,28 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
         (finsuppTensorFinsupp R _ _ _ _).trans <|
           Finsupp.lcongr (Equiv.refl _) (TensorProduct.lid R R)).symm
 #align basis.tensor_product Basis.tensorProduct
+-/
 
+#print Basis.tensorProduct_apply /-
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
     Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply Basis.tensorProduct_apply
+-/
 
+#print Basis.tensorProduct_apply' /-
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
+-/
 
+#print Basis.tensorProduct_repr_tmul_apply /-
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
     (i : ι) (j : κ) : (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j := by
   simp [Basis.tensorProduct]
 #align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_apply
+-/
 
 end CommRing
 
Diff
@@ -33,12 +33,6 @@ variable {R : Type _} {M : Type _} {N : Type _} {ι : Type _} {κ : Type _}
 
 variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
 
-/- warning: basis.tensor_product -> Basis.tensorProduct is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u5 u4, u1, max u3 u2} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
-Case conversion may be inaccurate. Consider using '#align basis.tensor_product Basis.tensorProductₓ'. -/
 /-- If b : ι → M and c : κ → N are bases then so is λ i, b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
     Basis (ι × κ) R (TensorProduct R M N) :=
@@ -48,24 +42,15 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
           Finsupp.lcongr (Equiv.refl _) (TensorProduct.lid R R)).symm
 #align basis.tensor_product Basis.tensorProduct
 
-/- warning: basis.tensor_product_apply -> Basis.tensorProduct_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply Basis.tensorProduct_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
     Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply Basis.tensorProduct_apply
 
-/- warning: basis.tensor_product_apply' -> Basis.tensorProduct_apply' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply' Basis.tensorProduct_apply'ₓ'. -/
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
-/- warning: basis.tensor_product_repr_tmul_apply -> Basis.tensorProduct_repr_tmul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
     (i : ι) (j : κ) : (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j := by
Diff
@@ -49,10 +49,7 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
 #align basis.tensor_product Basis.tensorProduct
 
 /- warning: basis.tensor_product_apply -> Basis.tensorProduct_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (coeFn.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), max (succ (max u4 u5)) (succ (max u2 u3))} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (fun (_x : Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) => (Prod.{u4, u5} ι κ) -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (FunLike.hasCoeToFun.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), succ (max u4 u5), succ (max u2 u3)} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (Prod.{u4, u5} ι κ) (fun (_x : Prod.{u4, u5} ι κ) => TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.funLike.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u4, u5} ι κ i j)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) b i) (coeFn.{max (succ u5) (succ u1) (succ u3), max (succ u5) (succ u3)} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (fun (_x : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) => κ -> N) (FunLike.hasCoeToFun.{max (succ u5) (succ u1) (succ u3), succ u5, succ u3} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) κ (fun (_x : κ) => N) (Basis.funLike.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5)) c j))
-but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u5, u2} ι κ i j)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b i) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c j))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply Basis.tensorProduct_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
@@ -60,20 +57,14 @@ theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι)
 #align basis.tensor_product_apply Basis.tensorProduct_apply
 
 /- warning: basis.tensor_product_apply' -> Basis.tensorProduct_apply' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (i : Prod.{u4, u5} ι κ), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (coeFn.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), max (succ (max u4 u5)) (succ (max u2 u3))} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (fun (_x : Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) => (Prod.{u4, u5} ι κ) -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (FunLike.hasCoeToFun.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), succ (max u4 u5), succ (max u2 u3)} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (Prod.{u4, u5} ι κ) (fun (_x : Prod.{u4, u5} ι κ) => TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.funLike.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) b (Prod.fst.{u4, u5} ι κ i)) (coeFn.{max (succ u5) (succ u1) (succ u3), max (succ u5) (succ u3)} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (fun (_x : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) => κ -> N) (FunLike.hasCoeToFun.{max (succ u5) (succ u1) (succ u3), succ u5, succ u3} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) κ (fun (_x : κ) => N) (Basis.funLike.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5)) c (Prod.snd.{u4, u5} ι κ i)))
-but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : Prod.{u5, u2} ι κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) i) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b (Prod.fst.{u5, u2} ι κ i)) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c (Prod.snd.{u5, u2} ι κ i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply' Basis.tensorProduct_apply'ₓ'. -/
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
 /- warning: basis.tensor_product_repr_tmul_apply -> Basis.tensorProduct_repr_tmul_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u1} R (coeFn.{max (succ (max u4 u5)) (succ u1), max (succ (max u4 u5)) (succ u1)} (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => (Prod.{u4, u5} ι κ) -> R) (Finsupp.coeFun.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ (max u2 u3)) (succ (max (max u4 u5) u1)), max (succ (max u2 u3)) (succ (max (max u4 u5) u1))} (LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) -> (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u4, u5} ι κ i j)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => ι -> R) (Finsupp.coeFun.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => M -> (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b) m) i) (coeFn.{max (succ u5) (succ u1), max (succ u5) (succ u1)} (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => κ -> R) (Finsupp.coeFun.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u3) (succ (max u5 u1)), max (succ u3) (succ (max u5 u1))} (LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => N -> (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, max u5 u1} R R N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5 c) n) j))
-but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (succ (max u5 u2)) (succ u4), succ (max u5 u2), succ u4} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) _x) (Finsupp.funLike.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u3) (succ u1), max (max (succ u4) (succ u5)) (succ u2)} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (fun (_x : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribSMul.toSMulZeroClass.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribMulAction.toDistribSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u1, max (max u4 u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u5, u2} ι κ i j)) (HMul.hMul.{u4, u4, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocRing.toMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocRing.toNonUnitalNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ring.toNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommRing.toRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u3, max (succ u4) (succ u5)} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribMulAction.toDistribSMul.{u4, u3} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u4 u5, max (max u4 u3) u5} R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u4 u5, max (max u4 u3) u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u4 u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3 b) m) i) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) _x) (Finsupp.funLike.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u1, max (succ u4) (succ u2)} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : N) => Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribSMul.toSMulZeroClass.{u4, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribMulAction.toDistribSMul.{u4, u1} R N (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u4 u2, max (max u4 u1) u2} R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u4 u2, max (max u4 u1) u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u4 u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5 c) n) j))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
Diff
@@ -73,7 +73,7 @@ theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u1} R (coeFn.{max (succ (max u4 u5)) (succ u1), max (succ (max u4 u5)) (succ u1)} (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => (Prod.{u4, u5} ι κ) -> R) (Finsupp.coeFun.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ (max u2 u3)) (succ (max (max u4 u5) u1)), max (succ (max u2 u3)) (succ (max (max u4 u5) u1))} (LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) -> (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u4, u5} ι κ i j)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => ι -> R) (Finsupp.coeFun.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => M -> (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b) m) i) (coeFn.{max (succ u5) (succ u1), max (succ u5) (succ u1)} (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => κ -> R) (Finsupp.coeFun.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u3) (succ (max u5 u1)), max (succ u3) (succ (max u5 u1))} (LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => N -> (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, max u5 u1} R R N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5 c) n) j))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (succ (max u5 u2)) (succ u4), succ (max u5 u2), succ u4} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) _x) (Finsupp.funLike.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u3) (succ u1), max (max (succ u4) (succ u5)) (succ u2)} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (fun (_x : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribSMul.toSMulZeroClass.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribMulAction.toDistribSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u1, max (max u4 u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u5, u2} ι κ i j)) (HMul.hMul.{u4, u4, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocRing.toMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocRing.toNonUnitalNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ring.toNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommRing.toRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u3, max (succ u4) (succ u5)} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribMulAction.toDistribSMul.{u4, u3} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u4 u5, max (max u4 u3) u5} R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u4 u5, max (max u4 u3) u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u4 u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3 b) m) i) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) _x) (Finsupp.funLike.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u1, max (succ u4) (succ u2)} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribSMul.toSMulZeroClass.{u4, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribMulAction.toDistribSMul.{u4, u1} R N (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u4 u2, max (max u4 u1) u2} R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u4 u2, max (max u4 u1) u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u4 u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5 c) n) j))
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (succ (max u5 u2)) (succ u4), succ (max u5 u2), succ u4} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) _x) (Finsupp.funLike.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u3) (succ u1), max (max (succ u4) (succ u5)) (succ u2)} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (fun (_x : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribSMul.toSMulZeroClass.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribMulAction.toDistribSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u1, max (max u4 u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u5, u2} ι κ i j)) (HMul.hMul.{u4, u4, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocRing.toMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocRing.toNonUnitalNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ring.toNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommRing.toRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u3, max (succ u4) (succ u5)} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribMulAction.toDistribSMul.{u4, u3} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u4 u5, max (max u4 u3) u5} R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u4 u5, max (max u4 u3) u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u4 u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3 b) m) i) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) _x) (Finsupp.funLike.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u1, max (succ u4) (succ u2)} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : N) => Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribSMul.toSMulZeroClass.{u4, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribMulAction.toDistribSMul.{u4, u1} R N (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u4 u2, max (max u4 u1) u2} R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u4 u2, max (max u4 u1) u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u4 u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5 c) n) j))
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
Diff
@@ -37,7 +37,7 @@ variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u5 u4, u1, max u3 u2} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u5 u4, u1, max u3 u2} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product Basis.tensorProductₓ'. -/
 /-- If b : ι → M and c : κ → N are bases then so is λ i, b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
@@ -52,7 +52,7 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (coeFn.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), max (succ (max u4 u5)) (succ (max u2 u3))} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (fun (_x : Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) => (Prod.{u4, u5} ι κ) -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (FunLike.hasCoeToFun.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), succ (max u4 u5), succ (max u2 u3)} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (Prod.{u4, u5} ι κ) (fun (_x : Prod.{u4, u5} ι κ) => TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.funLike.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u4, u5} ι κ i j)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) b i) (coeFn.{max (succ u5) (succ u1) (succ u3), max (succ u5) (succ u3)} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (fun (_x : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) => κ -> N) (FunLike.hasCoeToFun.{max (succ u5) (succ u1) (succ u3), succ u5, succ u3} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) κ (fun (_x : κ) => N) (Basis.funLike.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5)) c j))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u5, u2} ι κ i j)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b i) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c j))
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u5, u2} ι κ i j)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b i) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c j))
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply Basis.tensorProduct_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
@@ -63,7 +63,7 @@ theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι)
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (i : Prod.{u4, u5} ι κ), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (coeFn.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), max (succ (max u4 u5)) (succ (max u2 u3))} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (fun (_x : Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) => (Prod.{u4, u5} ι κ) -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (FunLike.hasCoeToFun.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), succ (max u4 u5), succ (max u2 u3)} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (Prod.{u4, u5} ι κ) (fun (_x : Prod.{u4, u5} ι κ) => TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.funLike.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) b (Prod.fst.{u4, u5} ι κ i)) (coeFn.{max (succ u5) (succ u1) (succ u3), max (succ u5) (succ u3)} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (fun (_x : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) => κ -> N) (FunLike.hasCoeToFun.{max (succ u5) (succ u1) (succ u3), succ u5, succ u3} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) κ (fun (_x : κ) => N) (Basis.funLike.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5)) c (Prod.snd.{u4, u5} ι κ i)))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : Prod.{u5, u2} ι κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) i) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b (Prod.fst.{u5, u2} ι κ i)) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c (Prod.snd.{u5, u2} ι κ i)))
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : Prod.{u5, u2} ι κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) i) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b (Prod.fst.{u5, u2} ι κ i)) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c (Prod.snd.{u5, u2} ι κ i)))
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply' Basis.tensorProduct_apply'ₓ'. -/
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
@@ -73,7 +73,7 @@ theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u1} R (coeFn.{max (succ (max u4 u5)) (succ u1), max (succ (max u4 u5)) (succ u1)} (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => (Prod.{u4, u5} ι κ) -> R) (Finsupp.coeFun.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ (max u2 u3)) (succ (max (max u4 u5) u1)), max (succ (max u2 u3)) (succ (max (max u4 u5) u1))} (LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) -> (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u4, u5} ι κ i j)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => ι -> R) (Finsupp.coeFun.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => M -> (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b) m) i) (coeFn.{max (succ u5) (succ u1), max (succ u5) (succ u1)} (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => κ -> R) (Finsupp.coeFun.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u3) (succ (max u5 u1)), max (succ u3) (succ (max u5 u1))} (LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => N -> (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, max u5 u1} R R N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5 c) n) j))
 but is expected to have type
-  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (succ (max u5 u2)) (succ u4), succ (max u5 u2), succ u4} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) _x) (Finsupp.funLike.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u3) (succ u1), max (max (succ u4) (succ u5)) (succ u2)} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (fun (_x : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribSMul.toSMulZeroClass.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribMulAction.toDistribSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toZero.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u1, max (max u4 u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (Basis.repr.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u5, u2} ι κ i j)) (HMul.hMul.{u4, u4, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocRing.toMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocRing.toNonUnitalNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ring.toNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommRing.toRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u3, max (succ u4) (succ u5)} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribMulAction.toDistribSMul.{u4, u3} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Module.toDistribMulAction.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u4 u5, max (max u4 u3) u5} R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u4 u5, max (max u4 u3) u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u4 u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (Basis.repr.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3 b) m) i) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) _x) (Finsupp.funLike.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u1, max (succ u4) (succ u2)} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribSMul.toSMulZeroClass.{u4, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribMulAction.toDistribSMul.{u4, u1} R N (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (Module.toDistribMulAction.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u4 u2, max (max u4 u1) u2} R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u4 u2, max (max u4 u1) u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u4 u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (Basis.repr.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5 c) n) j))
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (succ (max u5 u2)) (succ u4), succ (max u5 u2), succ u4} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) _x) (Finsupp.funLike.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u3) (succ u1), max (max (succ u4) (succ u5)) (succ u2)} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (fun (_x : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribSMul.toSMulZeroClass.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribMulAction.toDistribSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u1, max (max u4 u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u5, u2} ι κ i j)) (HMul.hMul.{u4, u4, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocRing.toMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocRing.toNonUnitalNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ring.toNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommRing.toRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u3, max (succ u4) (succ u5)} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribMulAction.toDistribSMul.{u4, u3} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u3} R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u4 u5, max (max u4 u3) u5} R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u4 u5, max (max u4 u3) u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u4 u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u5, u4, u3} ι R M (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3 b) m) i) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) _x) (Finsupp.funLike.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u1, max (succ u4) (succ u2)} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribSMul.toSMulZeroClass.{u4, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribMulAction.toDistribSMul.{u4, u1} R N (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u1} R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u4 u2, max (max u4 u1) u2} R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u4 u2, max (max u4 u1) u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u4 u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (Basis.repr.{u2, u4, u1} κ R N (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5 c) n) j))
 Case conversion may be inaccurate. Consider using '#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
Diff
@@ -69,6 +69,12 @@ theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
+/- warning: basis.tensor_product_repr_tmul_apply -> Basis.tensorProduct_repr_tmul_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u1} R (coeFn.{max (succ (max u4 u5)) (succ u1), max (succ (max u4 u5)) (succ u1)} (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => (Prod.{u4, u5} ι κ) -> R) (Finsupp.coeFun.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ (max u2 u3)) (succ (max (max u4 u5) u1)), max (succ (max u2 u3)) (succ (max (max u4 u5) u1))} (LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) -> (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, max u2 u3, max (max u4 u5) u1} R R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u4 u5, u1} (Prod.{u4, u5} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u4 u5, u1, u1} (Prod.{u4, u5} ι κ) R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u4, u5} ι κ i j)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (coeFn.{max (succ u4) (succ u1), max (succ u4) (succ u1)} (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => ι -> R) (Finsupp.coeFun.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u2) (succ (max u4 u1)), max (succ u2) (succ (max u4 u1))} (LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u2, max u4 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => M -> (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u2, max u4 u1} R R M (Finsupp.{u4, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (Finsupp.addCommMonoid.{u4, u1} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_3 (Finsupp.module.{u4, u1, u1} ι R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 b) m) i) (coeFn.{max (succ u5) (succ u1), max (succ u5) (succ u1)} (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (fun (_x : Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) => κ -> R) (Finsupp.coeFun.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (coeFn.{max (succ u3) (succ (max u5 u1)), max (succ u3) (succ (max u5 u1))} (LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (fun (_x : LinearEquiv.{u1, u1, u3, max u5 u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) => N -> (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (LinearEquiv.hasCoeToFun.{u1, u1, u3, max u5 u1} R R N (Finsupp.{u5, u1} κ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) (Finsupp.addCommMonoid.{u5, u1} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) _inst_5 (Finsupp.module.{u5, u1, u1} κ R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Basis.repr.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5 c) n) j))
+but is expected to have type
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (m : M) (n : N) (i : ι) (j : κ), Eq.{succ u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (succ (max u5 u2)) (succ u4), succ (max u5 u2), succ u4} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Prod.{u5, u2} ι κ) => R) _x) (Finsupp.funLike.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u3) (succ u1), max (max (succ u4) (succ u5)) (succ u2)} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (fun (_x : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) => Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toZero.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribSMul.toSMulZeroClass.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddMonoid.toAddZeroClass.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))) (DistribMulAction.toDistribSMul.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5))))) (SMulZeroClass.toSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toZero.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u4 u3) u1) u5) u2, u4, max u3 u1, max (max u4 u5) u2} (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u3 u1} (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (AddCommMonoid.toAddMonoid.{max (max u4 u5) u2} (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u3 u1} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Module.toDistribMulAction.{u4, max (max u4 u5) u2} R (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, max u3 u1, max (max u4 u5) u2, max (max (max (max u4 u3) u1) u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, max u3 u1, max u4 u5 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, max u3 u1, max (max u4 u5) u2} R R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.addCommMonoid.{max u5 u2, u4} (Prod.{u5, u2} ι κ) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Finsupp.module.{max u5 u2, u4, u4} (Prod.{u5, u2} ι κ) R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (Basis.repr.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5 m n)) (Prod.mk.{u5, u2} ι κ i j)) (HMul.hMul.{u4, u4, u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) j) ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (instHMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonUnitalNonAssocRing.toMul.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (NonAssocRing.toNonUnitalNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ring.toNonAssocRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (CommRing.toRing.{u4} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) _inst_1))))) (FunLike.coe.{max (succ u5) (succ u4), succ u5, succ u4} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u3, max (succ u4) (succ u5)} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribSMul.toSMulZeroClass.{u4, u3} R M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2))) (DistribMulAction.toDistribSMul.{u4, u3} R M (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (Module.toDistribMulAction.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u5, u4, u3, max u4 u5} (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} M (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)) (AddCommMonoid.toAddMonoid.{max u4 u5} (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (Module.toDistribMulAction.{u4, max u4 u5} R (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u3, max u4 u5, max (max u4 u3) u5} R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u3, max u4 u5, max (max u4 u3) u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u3, max u4 u5} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u3, max u4 u5} R R M (Finsupp.{u5, u4} ι R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (Finsupp.addCommMonoid.{u5, u4} ι R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_3 (Finsupp.module.{u5, u4, u4} ι R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (Basis.repr.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3 b) m) i) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) κ (fun (_x : κ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : κ) => R) _x) (Finsupp.funLike.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u1, max (succ u4) (succ u2)} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) N (fun (_x : N) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : N) => Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SMulZeroClass.toSMul.{u4, u1} R N (AddMonoid.toZero.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribSMul.toSMulZeroClass.{u4, u1} R N (AddMonoid.toAddZeroClass.{u1} N (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4))) (DistribMulAction.toDistribSMul.{u4, u1} R N (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (Module.toDistribMulAction.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5)))) (SMulZeroClass.toSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toZero.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddMonoid.toAddZeroClass.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u2, u4, u1, max u4 u2} (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u1} N (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (Module.toDistribMulAction.{u4, max u4 u2} R (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u4, u1, max u4 u2, max (max u4 u1) u2} R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u4, u4, u1, max u4 u2, max (max u4 u1) u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (LinearEquiv.{u4, u4, u1, max u4 u2} R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u4, u4, u1, max u4 u2} R R N (Finsupp.{u2, u4} κ R (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) (Finsupp.addCommMonoid.{u2, u4} κ R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))) _inst_5 (Finsupp.module.{u2, u4, u4} κ R R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))))) (Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1))) (RingHomInvPair.ids.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)))))))) (Basis.repr.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5 c) n) j))
+Case conversion may be inaccurate. Consider using '#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
     (i : ι) (j : κ) : (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j := by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jakob von Raumer
 
 ! This file was ported from Lean 3 source module linear_algebra.tensor_product_basis
-! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
+! leanprover-community/mathlib commit f784cc6142443d9ee623a20788c282112c322081
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -69,5 +69,11 @@ theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
+@[simp]
+theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
+    (i : ι) (j : κ) : (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j := by
+  simp [Basis.tensorProduct]
+#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_apply
+
 end CommRing
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jakob von Raumer
 
 ! This file was ported from Lean 3 source module linear_algebra.tensor_product_basis
-! leanprover-community/mathlib commit 4977fd9da637b6e0a805c1cf460c3a6b8df3f556
+! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.FinsuppVectorSpace
 /-!
 # Bases and dimensionality of tensor products of modules
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 These can not go into `linear_algebra.tensor_product` since they depend on
 `linear_algebra.finsupp_vector_space` which in turn imports `linear_algebra.tensor_product`.
 
Diff
@@ -30,6 +30,12 @@ variable {R : Type _} {M : Type _} {N : Type _} {ι : Type _} {κ : Type _}
 
 variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
 
+/- warning: basis.tensor_product -> Basis.tensorProduct is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)], (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) -> (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) -> (Basis.{max u5 u4, u1, max u3 u2} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))
+Case conversion may be inaccurate. Consider using '#align basis.tensor_product Basis.tensorProductₓ'. -/
 /-- If b : ι → M and c : κ → N are bases then so is λ i, b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
     Basis (ι × κ) R (TensorProduct R M N) :=
@@ -39,11 +45,23 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
           Finsupp.lcongr (Equiv.refl _) (TensorProduct.lid R R)).symm
 #align basis.tensor_product Basis.tensorProduct
 
+/- warning: basis.tensor_product_apply -> Basis.tensorProduct_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (coeFn.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), max (succ (max u4 u5)) (succ (max u2 u3))} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (fun (_x : Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) => (Prod.{u4, u5} ι κ) -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (FunLike.hasCoeToFun.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), succ (max u4 u5), succ (max u2 u3)} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (Prod.{u4, u5} ι κ) (fun (_x : Prod.{u4, u5} ι κ) => TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.funLike.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u4, u5} ι κ i j)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) b i) (coeFn.{max (succ u5) (succ u1) (succ u3), max (succ u5) (succ u3)} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (fun (_x : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) => κ -> N) (FunLike.hasCoeToFun.{max (succ u5) (succ u1) (succ u3), succ u5, succ u3} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) κ (fun (_x : κ) => N) (Basis.funLike.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5)) c j))
+but is expected to have type
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : ι) (j : κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Prod.mk.{u5, u2} ι κ i j)) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) (Prod.mk.{u5, u2} ι κ i j)) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) i) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) j) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b i) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c j))
+Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply Basis.tensorProduct_applyₓ'. -/
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
     Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply Basis.tensorProduct_apply
 
+/- warning: basis.tensor_product_apply' -> Basis.tensorProduct_apply' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} {N : Type.{u3}} {ι : Type.{u4}} {κ : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_4 : AddCommGroup.{u3} N] [_inst_5 : Module.{u1, u3} R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4)] (b : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (c : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (i : Prod.{u4, u5} ι κ), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (coeFn.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), max (succ (max u4 u5)) (succ (max u2 u3))} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (fun (_x : Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) => (Prod.{u4, u5} ι κ) -> (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (FunLike.hasCoeToFun.{max (succ (max u4 u5)) (succ u1) (succ (max u2 u3)), succ (max u4 u5), succ (max u2 u3)} (Basis.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5)) (Prod.{u4, u5} ι κ) (fun (_x : Prod.{u4, u5} ι κ) => TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Basis.funLike.{max u4 u5, u1, max u2 u3} (Prod.{u4, u5} ι κ) R (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (TensorProduct.addCommMonoid.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5) (TensorProduct.module.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5))) (Basis.tensorProduct.{u1, u2, u3, u4, u5} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_3 _inst_5 (coeFn.{max (succ u4) (succ u1) (succ u2), max (succ u4) (succ u2)} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (fun (_x : Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) => ι -> M) (FunLike.hasCoeToFun.{max (succ u4) (succ u1) (succ u2), succ u4, succ u2} (Basis.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι (fun (_x : ι) => M) (Basis.funLike.{u4, u1, u2} ι R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) b (Prod.fst.{u4, u5} ι κ i)) (coeFn.{max (succ u5) (succ u1) (succ u3), max (succ u5) (succ u3)} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) (fun (_x : Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) => κ -> N) (FunLike.hasCoeToFun.{max (succ u5) (succ u1) (succ u3), succ u5, succ u3} (Basis.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5) κ (fun (_x : κ) => N) (Basis.funLike.{u5, u1, u3} κ R N (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} N _inst_4) _inst_5)) c (Prod.snd.{u4, u5} ι κ i)))
+but is expected to have type
+  forall {R : Type.{u4}} {M : Type.{u3}} {N : Type.{u1}} {ι : Type.{u5}} {κ : Type.{u2}} [_inst_1 : CommRing.{u4} R] [_inst_2 : AddCommGroup.{u3} M] [_inst_3 : Module.{u4, u3} R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2)] [_inst_4 : AddCommGroup.{u1} N] [_inst_5 : Module.{u4, u1} R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4)] (b : Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) (c : Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) (i : Prod.{u5, u2} ι κ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) i) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u1)) (succ u5)) (succ u2), max (succ u5) (succ u2), max (succ u3) (succ u1)} (Basis.{max u2 u5, u4, max u1 u3} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Prod.{u5, u2} ι κ) (fun (_x : Prod.{u5, u2} ι κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : Prod.{u5, u2} ι κ) => TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) _x) (Basis.funLike.{max u5 u2, u4, max u3 u1} (Prod.{u5, u2} ι κ) R (TensorProduct.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (TensorProduct.addCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M N (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_3 _inst_5)) (Basis.tensorProduct.{u4, u3, u1, u5, u2} R M N ι κ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 b c) i) (TensorProduct.tmul.{u4, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) (AddCommGroup.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) (Prod.fst.{u5, u2} ι κ i)) _inst_2) (AddCommGroup.toAddCommMonoid.{u1} ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) (Prod.snd.{u5, u2} ι κ i)) _inst_4) _inst_3 _inst_5 (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u5), succ u5, succ u3} (Basis.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => M) _x) (Basis.funLike.{u5, u4, u3} ι R M (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_2) _inst_3) b (Prod.fst.{u5, u2} ι κ i)) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u2), succ u2, succ u1} (Basis.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) κ (fun (_x : κ) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : κ) => N) _x) (Basis.funLike.{u2, u4, u1} κ R N (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} N _inst_4) _inst_5) c (Prod.snd.{u5, u2} ι κ i)))
+Case conversion may be inaccurate. Consider using '#align basis.tensor_product_apply' Basis.tensorProduct_apply'ₓ'. -/
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'

Changes in mathlib4

mathlib3
mathlib4
feat: Generalize Basis.tensorProduct to heterobasic version (#11844)

In order to achieve this, finsuppTensorFinsupp and TensorProduct.directSum are also heterobasic now.

Diff
@@ -22,16 +22,17 @@ open Set LinearMap Submodule
 
 section CommSemiring
 
-variable {R : Type*} {M : Type*} {N : Type*} {ι : Type*} {κ : Type*}
-  [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N]
+variable {R : Type*} {S : Type*} {M : Type*} {N : Type*} {ι : Type*} {κ : Type*}
+  [CommSemiring R] [CommSemiring S] [Algebra R S] [AddCommMonoid M] [Module R M] [Module S M]
+  [IsScalarTower R S M] [AddCommMonoid N] [Module R N]
 
 /-- If `b : ι → M` and `c : κ → N` are bases then so is `fun i ↦ b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N`. -/
-def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
-    Basis (ι × κ) R (TensorProduct R M N) :=
+def Basis.tensorProduct (b : Basis ι S M) (c : Basis κ R N) :
+    Basis (ι × κ) S (TensorProduct R M N) :=
   Finsupp.basisSingleOne.map
-    ((TensorProduct.congr b.repr c.repr).trans <|
-        (finsuppTensorFinsupp R _ _ _ _).trans <|
-          Finsupp.lcongr (Equiv.refl _) (TensorProduct.lid R R)).symm
+    ((TensorProduct.AlgebraTensorModule.congr b.repr c.repr).trans <|
+        (finsuppTensorFinsupp R S _ _ _ _).trans <|
+          Finsupp.lcongr (Equiv.refl _) (TensorProduct.AlgebraTensorModule.rid R S S)).symm
 #align basis.tensor_product Basis.tensorProduct
 
 @[simp]
@@ -49,7 +50,7 @@ theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
     (i : ι) (j : κ) :
     (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j := by
-  simp [Basis.tensorProduct]
+  simp [Basis.tensorProduct, mul_comm]
 #align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_apply
 
 end CommSemiring
chore: generalize more DirectSum results to avoid negation (#10965)

Generalize Basis.tensorProduct and instance Module.Free.tensor to CommSemiring and AddCommMonoid, as a follow-up to #10828.

Plus style fixes:

  • tidy up LinearAlgebra.DirectSum.Finsupp.lean:
    • delete unused universe declaration
    • delete duplicate open TensorProduct
    • delete redundant noncomputable annotation and associated comment (due to noncomputable section in the same file)
    • use variable
  • delete "typeclass reminders" in "Module.Flat.iff_rTensor_injective'" (no longer needed)
  • whitespace fixes
  • simplify file structure (section/namespace/open/variable)

Co-authored-by: Richard Copley <rcopley@gmail.com>

Diff
@@ -13,7 +13,6 @@ import Mathlib.LinearAlgebra.FinsuppVectorSpace
 
 These can not go into `LinearAlgebra.TensorProduct` since they depend on
 `LinearAlgebra.FinsuppVectorSpace` which in turn imports `LinearAlgebra.TensorProduct`.
-
 -/
 
 
@@ -21,11 +20,10 @@ noncomputable section
 
 open Set LinearMap Submodule
 
-section CommRing
+section CommSemiring
 
 variable {R : Type*} {M : Type*} {N : Type*} {ι : Type*} {κ : Type*}
-
-variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
+  [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N]
 
 /-- If `b : ι → M` and `c : κ → N` are bases then so is `fun i ↦ b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N`. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
@@ -38,11 +36,13 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
 
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
-    Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j := by simp [Basis.tensorProduct]
+    Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j := by
+  simp [Basis.tensorProduct]
 #align basis.tensor_product_apply Basis.tensorProduct_apply
 
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
-    Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
+    Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by
+  simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
 @[simp]
@@ -52,4 +52,5 @@ theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N
   simp [Basis.tensorProduct]
 #align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_apply
 
-end CommRing
+end CommSemiring
+end
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -23,7 +23,7 @@ open Set LinearMap Submodule
 
 section CommRing
 
-variable {R : Type _} {M : Type _} {N : Type _} {ι : Type _} {κ : Type _}
+variable {R : Type*} {M : Type*} {N : Type*} {ι : Type*} {κ : Type*}
 
 variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 Jakob von Raumer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jakob von Raumer
-
-! This file was ported from Lean 3 source module linear_algebra.tensor_product_basis
-! leanprover-community/mathlib commit f784cc6142443d9ee623a20788c282112c322081
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.DirectSum.Finsupp
 import Mathlib.LinearAlgebra.FinsuppVectorSpace
 
+#align_import linear_algebra.tensor_product_basis from "leanprover-community/mathlib"@"f784cc6142443d9ee623a20788c282112c322081"
+
 /-!
 # Bases and dimensionality of tensor products of modules
 
chore: convert lambda in docs to fun (#5045)

Found with git grep -n "λ [a-zA-Z_ ]*,"

Diff
@@ -30,7 +30,7 @@ variable {R : Type _} {M : Type _} {N : Type _} {ι : Type _} {κ : Type _}
 
 variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
 
-/-- If b : ι → M and c : κ → N are bases then so is λ i, b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N. -/
+/-- If `b : ι → M` and `c : κ → N` are bases then so is `fun i ↦ b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N`. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
     Basis (ι × κ) R (TensorProduct R M N) :=
   Finsupp.basisSingleOne.map
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

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

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

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

Diff
@@ -30,8 +30,6 @@ variable {R : Type _} {M : Type _} {N : Type _} {ι : Type _} {κ : Type _}
 
 variable [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N]
 
--- Porting note: cannot synth RingHomCompTriple
-set_option synthInstance.etaExperiment true in
 /-- If b : ι → M and c : κ → N are bases then so is λ i, b i.1 ⊗ₜ c i.2 : ι × κ → M ⊗ N. -/
 def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
     Basis (ι × κ) R (TensorProduct R M N) :=
@@ -41,21 +39,15 @@ def Basis.tensorProduct (b : Basis ι R M) (c : Basis κ R N) :
           Finsupp.lcongr (Equiv.refl _) (TensorProduct.lid R R)).symm
 #align basis.tensor_product Basis.tensorProduct
 
--- Porting note: resolved diamond
-set_option synthInstance.etaExperiment true in
 @[simp]
 theorem Basis.tensorProduct_apply (b : Basis ι R M) (c : Basis κ R N) (i : ι) (j : κ) :
     Basis.tensorProduct b c (i, j) = b i ⊗ₜ c j := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply Basis.tensorProduct_apply
 
--- Porting note: resolved diamond
-set_option synthInstance.etaExperiment true in
 theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι × κ) :
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
--- Porting note: resolved diamond
-set_option synthInstance.etaExperiment true in
 @[simp]
 theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
     (i : ι) (j : κ) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jakob von Raumer
 
 ! This file was ported from Lean 3 source module linear_algebra.tensor_product_basis
-! leanprover-community/mathlib commit 4977fd9da637b6e0a805c1cf460c3a6b8df3f556
+! leanprover-community/mathlib commit f784cc6142443d9ee623a20788c282112c322081
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -54,5 +54,13 @@ theorem Basis.tensorProduct_apply' (b : Basis ι R M) (c : Basis κ R N) (i : ι
     Basis.tensorProduct b c i = b i.1 ⊗ₜ c i.2 := by simp [Basis.tensorProduct]
 #align basis.tensor_product_apply' Basis.tensorProduct_apply'
 
-end CommRing
+-- Porting note: resolved diamond
+set_option synthInstance.etaExperiment true in
+@[simp]
+theorem Basis.tensorProduct_repr_tmul_apply (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N)
+    (i : ι) (j : κ) :
+    (Basis.tensorProduct b c).repr (m ⊗ₜ n) (i, j) = b.repr m i * c.repr n j := by
+  simp [Basis.tensorProduct]
+#align basis.tensor_product_repr_tmul_apply Basis.tensorProduct_repr_tmul_apply
 
+end CommRing
feat: port LinearAlgebra.TensorProductBasis (#3295)

Dependencies 8 + 442

443 files ported (98.2%)
182270 lines ported (98.3%)
Show graph

The unported dependencies are