linear_algebra.affine_space.matrixMathlib.LinearAlgebra.AffineSpace.Matrix

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -163,7 +163,7 @@ theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
   by
   constructor
   · rintro ⟨⟨B, A, hA, hA'⟩, rfl : B = b.to_matrix p⟩
-    rw [Matrix.hMul_eq_hMul] at hA hA' 
+    rw [Matrix.hMul_eq_hMul] at hA hA'
     exact
       ⟨b.affine_independent_of_to_matrix_right_inv p hA,
         b.affine_span_eq_top_of_to_matrix_left_inv p hA'⟩
@@ -191,7 +191,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
     (b.toMatrix b₂)⁻¹.vecMul (b.coords x) = b₂.coords x :=
   by
   have hu := b.is_unit_to_matrix b₂
-  rw [Matrix.isUnit_iff_isUnit_det] at hu 
+  rw [Matrix.isUnit_iff_isUnit_det] at hu
   rw [← b.to_matrix_vec_mul_coords b₂, Matrix.vecMul_vecMul, Matrix.mul_nonsing_inv _ hu,
     Matrix.vecMul_one]
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
@@ -204,7 +204,7 @@ theorem det_smul_coords_eq_cramer_coords (x : P) :
     (b.toMatrix b₂).det • b₂.coords x = (b.toMatrix b₂)ᵀ.cramer (b.coords x) :=
   by
   have hu := b.is_unit_to_matrix b₂
-  rw [Matrix.isUnit_iff_isUnit_det] at hu 
+  rw [Matrix.isUnit_iff_isUnit_det] at hu
   rw [← b.to_matrix_inv_vec_mul_to_matrix, Matrix.det_smul_inv_vecMul_eq_cramer_transpose _ _ hu]
 #align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coords
 -/
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2021 Oliver Nash. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Oliver Nash
 -/
-import Mathbin.LinearAlgebra.AffineSpace.Basis
-import Mathbin.LinearAlgebra.Determinant
+import LinearAlgebra.AffineSpace.Basis
+import LinearAlgebra.Determinant
 
 #align_import linear_algebra.affine_space.matrix from "leanprover-community/mathlib"@"fe8d0ff42c3c24d789f491dc2622b6cac3d61564"
 
Diff
@@ -86,7 +86,7 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
       finset.univ.map_affine_combination p w₁ hw₁, ← finset.univ.map_affine_combination p w₂ hw₂,
       hweq]
   replace hweq' := congr_arg (fun w => A.vec_mul w) hweq'
-  simpa only [Matrix.vecMul_vecMul, ← Matrix.mul_eq_mul, hA, Matrix.vecMul_one] using hweq'
+  simpa only [Matrix.vecMul_vecMul, ← Matrix.hMul_eq_hMul, hA, Matrix.vecMul_one] using hweq'
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
 -/
 
@@ -163,7 +163,7 @@ theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
   by
   constructor
   · rintro ⟨⟨B, A, hA, hA'⟩, rfl : B = b.to_matrix p⟩
-    rw [Matrix.mul_eq_mul] at hA hA' 
+    rw [Matrix.hMul_eq_hMul] at hA hA' 
     exact
       ⟨b.affine_independent_of_to_matrix_right_inv p hA,
         b.affine_span_eq_top_of_to_matrix_left_inv p hA'⟩
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 Oliver Nash. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Oliver Nash
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.matrix
-! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.AffineSpace.Basis
 import Mathbin.LinearAlgebra.Determinant
 
+#align_import linear_algebra.affine_space.matrix from "leanprover-community/mathlib"@"fe8d0ff42c3c24d789f491dc2622b6cac3d61564"
+
 /-!
 # Matrix results for barycentric co-ordinates
 
Diff
@@ -59,7 +59,7 @@ theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
 @[simp]
 theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
   by
-  ext (i j)
+  ext i j
   rw [to_matrix_apply, coord_apply, Matrix.one_eq_pi_single, Pi.single_apply]
 #align affine_basis.to_matrix_self AffineBasis.toMatrix_self
 -/
@@ -145,7 +145,7 @@ variable [DecidableEq ι]
 #print AffineBasis.toMatrix_mul_toMatrix /-
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   by
-  ext (l m)
+  ext l m
   change (b₂.to_matrix b).vecMul (b.coords (b₂ l)) m = _
   rw [to_matrix_vec_mul_coords, coords_apply, ← to_matrix_apply, to_matrix_self]
 #align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrix
Diff
@@ -47,25 +47,32 @@ noncomputable def toMatrix {ι' : Type _} (q : ι' → P) : Matrix ι' ι k := f
 #align affine_basis.to_matrix AffineBasis.toMatrix
 -/
 
+#print AffineBasis.toMatrix_apply /-
 @[simp]
 theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
     b.toMatrix q i j = b.Coord j (q i) :=
   rfl
 #align affine_basis.to_matrix_apply AffineBasis.toMatrix_apply
+-/
 
+#print AffineBasis.toMatrix_self /-
 @[simp]
 theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
   by
   ext (i j)
   rw [to_matrix_apply, coord_apply, Matrix.one_eq_pi_single, Pi.single_apply]
 #align affine_basis.to_matrix_self AffineBasis.toMatrix_self
+-/
 
 variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 
+#print AffineBasis.toMatrix_row_sum_one /-
 theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
+-/
 
+#print AffineBasis.affineIndependent_of_toMatrix_right_inv /-
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
 theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P) {A : Matrix ι ι' k}
@@ -84,7 +91,9 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
   replace hweq' := congr_arg (fun w => A.vec_mul w) hweq'
   simpa only [Matrix.vecMul_vecMul, ← Matrix.mul_eq_mul, hA, Matrix.vecMul_one] using hweq'
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
+-/
 
+#print AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv /-
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
 theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (p : ι' → P)
@@ -114,6 +123,7 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
   rw [hbi]
   exact affineCombination_mem_affineSpan hAi p
 #align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv
+-/
 
 #print AffineBasis.toMatrix_vecMul_coords /-
 /-- A change of basis formula for barycentric coordinates.
@@ -132,20 +142,25 @@ theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x
 
 variable [DecidableEq ι]
 
+#print AffineBasis.toMatrix_mul_toMatrix /-
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   by
   ext (l m)
   change (b₂.to_matrix b).vecMul (b.coords (b₂ l)) m = _
   rw [to_matrix_vec_mul_coords, coords_apply, ← to_matrix_apply, to_matrix_self]
 #align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrix
+-/
 
+#print AffineBasis.isUnit_toMatrix /-
 theorem isUnit_toMatrix : IsUnit (b.toMatrix b₂) :=
   ⟨{  val := b.toMatrix b₂
       inv := b₂.toMatrix b
       val_inv := b.toMatrix_mul_toMatrix b₂
       inv_val := b₂.toMatrix_mul_toMatrix b }, rfl⟩
 #align affine_basis.is_unit_to_matrix AffineBasis.isUnit_toMatrix
+-/
 
+#print AffineBasis.isUnit_toMatrix_iff /-
 theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
     IsUnit (b.toMatrix p) ↔ AffineIndependent k p ∧ affineSpan k (range p) = ⊤ :=
   by
@@ -160,6 +175,7 @@ theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
     change IsUnit (b.to_matrix b')
     exact b.is_unit_to_matrix b'
 #align affine_basis.is_unit_to_matrix_iff AffineBasis.isUnit_toMatrix_iff
+-/
 
 end Ring
 
@@ -169,6 +185,7 @@ variable [CommRing k] [Module k V] [DecidableEq ι] [Fintype ι]
 
 variable (b b₂ : AffineBasis ι k P)
 
+#print AffineBasis.toMatrix_inv_vecMul_toMatrix /-
 /-- A change of basis formula for barycentric coordinates.
 
 See also `affine_basis.to_matrix_vec_mul_coords`. -/
@@ -181,7 +198,9 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
   rw [← b.to_matrix_vec_mul_coords b₂, Matrix.vecMul_vecMul, Matrix.mul_nonsing_inv _ hu,
     Matrix.vecMul_one]
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
+-/
 
+#print AffineBasis.det_smul_coords_eq_cramer_coords /-
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
 theorem det_smul_coords_eq_cramer_coords (x : P) :
@@ -191,6 +210,7 @@ theorem det_smul_coords_eq_cramer_coords (x : P) :
   rw [Matrix.isUnit_iff_isUnit_det] at hu 
   rw [← b.to_matrix_inv_vec_mul_to_matrix, Matrix.det_smul_inv_vecMul_eq_cramer_transpose _ _ hu]
 #align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coords
+-/
 
 end CommRing
 
Diff
@@ -62,7 +62,7 @@ theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
 
 variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 
-theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j, b.toMatrix q i j) = 1 := by
+theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
@@ -76,7 +76,7 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
   have hweq' : (b.to_matrix p).vecMul w₁ = (b.to_matrix p).vecMul w₂ :=
     by
     ext j
-    change (∑ i, w₁ i • b.coord j (p i)) = ∑ i, w₂ i • b.coord j (p i)
+    change ∑ i, w₁ i • b.coord j (p i) = ∑ i, w₂ i • b.coord j (p i)
     rw [← finset.univ.affine_combination_eq_linear_combination _ _ hw₁, ←
       finset.univ.affine_combination_eq_linear_combination _ _ hw₂, ←
       finset.univ.map_affine_combination p w₁ hw₁, ← finset.univ.map_affine_combination p w₂ hw₂,
@@ -96,9 +96,9 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
     rintro q ⟨i, rfl⟩
     exact this i
   intro i
-  have hAi : (∑ j, A i j) = 1 := by
+  have hAi : ∑ j, A i j = 1 := by
     calc
-      (∑ j, A i j) = ∑ j, A i j * ∑ l, b.to_matrix p j l := by simp
+      ∑ j, A i j = ∑ j, A i j * ∑ l, b.to_matrix p j l := by simp
       _ = ∑ j, ∑ l, A i j * b.to_matrix p j l := by simp_rw [Finset.mul_sum]
       _ = ∑ l, ∑ j, A i j * b.to_matrix p j l := by rw [Finset.sum_comm]
       _ = ∑ l, (A ⬝ b.to_matrix p) i l := rfl
Diff
@@ -103,7 +103,6 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
       _ = ∑ l, ∑ j, A i j * b.to_matrix p j l := by rw [Finset.sum_comm]
       _ = ∑ l, (A ⬝ b.to_matrix p) i l := rfl
       _ = 1 := by simp [hA, Matrix.one_apply, Finset.filter_eq]
-      
   have hbi : b i = finset.univ.affine_combination k p (A i) :=
     by
     apply b.ext_elem
Diff
@@ -152,7 +152,7 @@ theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
   by
   constructor
   · rintro ⟨⟨B, A, hA, hA'⟩, rfl : B = b.to_matrix p⟩
-    rw [Matrix.mul_eq_mul] at hA hA'
+    rw [Matrix.mul_eq_mul] at hA hA' 
     exact
       ⟨b.affine_independent_of_to_matrix_right_inv p hA,
         b.affine_span_eq_top_of_to_matrix_left_inv p hA'⟩
@@ -178,7 +178,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
     (b.toMatrix b₂)⁻¹.vecMul (b.coords x) = b₂.coords x :=
   by
   have hu := b.is_unit_to_matrix b₂
-  rw [Matrix.isUnit_iff_isUnit_det] at hu
+  rw [Matrix.isUnit_iff_isUnit_det] at hu 
   rw [← b.to_matrix_vec_mul_coords b₂, Matrix.vecMul_vecMul, Matrix.mul_nonsing_inv _ hu,
     Matrix.vecMul_one]
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
@@ -189,7 +189,7 @@ theorem det_smul_coords_eq_cramer_coords (x : P) :
     (b.toMatrix b₂).det • b₂.coords x = (b.toMatrix b₂)ᵀ.cramer (b.coords x) :=
   by
   have hu := b.is_unit_to_matrix b₂
-  rw [Matrix.isUnit_iff_isUnit_det] at hu
+  rw [Matrix.isUnit_iff_isUnit_det] at hu 
   rw [← b.to_matrix_inv_vec_mul_to_matrix, Matrix.det_smul_inv_vecMul_eq_cramer_transpose _ _ hu]
 #align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coords
 
Diff
@@ -22,7 +22,7 @@ respect to some affine basis.
 -/
 
 
-open Affine BigOperators Matrix
+open scoped Affine BigOperators Matrix
 
 open Set
 
Diff
@@ -47,21 +47,12 @@ noncomputable def toMatrix {ι' : Type _} (q : ι' → P) : Matrix ι' ι k := f
 #align affine_basis.to_matrix AffineBasis.toMatrix
 -/
 
-/- warning: affine_basis.to_matrix_apply -> AffineBasis.toMatrix_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_apply AffineBasis.toMatrix_applyₓ'. -/
 @[simp]
 theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
     b.toMatrix q i j = b.Coord j (q i) :=
   rfl
 #align affine_basis.to_matrix_apply AffineBasis.toMatrix_apply
 
-/- warning: affine_basis.to_matrix_self -> AffineBasis.toMatrix_self is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (Semiring.toOne.{u2} k (Ring.toSemiring.{u2} k _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_self AffineBasis.toMatrix_selfₓ'. -/
 @[simp]
 theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
   by
@@ -71,19 +62,10 @@ theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
 
 variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 
-/- warning: affine_basis.to_matrix_row_sum_one -> AffineBasis.toMatrix_row_sum_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] {ι' : Type.{u5}} (q : ι' -> P) (i : ι'), Eq.{succ u2} k (Finset.sum.{u2, u1} k ι (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (Finset.univ.{u1} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u2} k 1 (OfNat.mk.{u2} k 1 (One.one.{u2} k (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3)))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u2} ι] {ι' : Type.{u1}} (q : ι' -> P) (i : ι'), Eq.{succ u3} k (Finset.sum.{u3, u2} k ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (Finset.univ.{u2} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_3))))
-Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_oneₓ'. -/
 theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j, b.toMatrix q i j) = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
-/- warning: affine_basis.affine_independent_of_to_matrix_right_inv -> AffineBasis.affineIndependent_of_toMatrix_right_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
 theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P) {A : Matrix ι ι' k}
@@ -103,9 +85,6 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
   simpa only [Matrix.vecMul_vecMul, ← Matrix.mul_eq_mul, hA, Matrix.vecMul_one] using hweq'
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
 
-/- warning: affine_basis.affine_span_eq_top_of_to_matrix_left_inv -> AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
 theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (p : ι' → P)
@@ -154,9 +133,6 @@ theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x
 
 variable [DecidableEq ι]
 
-/- warning: affine_basis.to_matrix_mul_to_matrix -> AffineBasis.toMatrix_mul_toMatrix is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrixₓ'. -/
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   by
   ext (l m)
@@ -164,12 +140,6 @@ theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   rw [to_matrix_vec_mul_coords, coords_apply, ← to_matrix_apply, to_matrix_self]
 #align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrix
 
-/- warning: affine_basis.is_unit_to_matrix -> AffineBasis.isUnit_toMatrix is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.ring.{u2, u1} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b) _inst_3)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b₂))
-but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.semiring.{u2, u1} ι k (Ring.toSemiring.{u2} k _inst_3) _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b₂))
-Case conversion may be inaccurate. Consider using '#align affine_basis.is_unit_to_matrix AffineBasis.isUnit_toMatrixₓ'. -/
 theorem isUnit_toMatrix : IsUnit (b.toMatrix b₂) :=
   ⟨{  val := b.toMatrix b₂
       inv := b₂.toMatrix b
@@ -177,12 +147,6 @@ theorem isUnit_toMatrix : IsUnit (b.toMatrix b₂) :=
       inv_val := b₂.toMatrix_mul_toMatrix b }, rfl⟩
 #align affine_basis.is_unit_to_matrix AffineBasis.isUnit_toMatrix
 
-/- warning: affine_basis.is_unit_to_matrix_iff -> AffineBasis.isUnit_toMatrix_iff is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι -> P), Iff (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.ring.{u2, u1} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b) _inst_3)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι p)) (And (AffineIndependent.{u2, u3, u4, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι p) (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u1} P ι p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toHasTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.completeLattice.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι -> P), Iff (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.semiring.{u2, u1} ι k (Ring.toSemiring.{u2} k _inst_3) _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι p)) (And (AffineIndependent.{u2, u3, u4, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι p) (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u1} P ι p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.instCompleteLatticeAffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align affine_basis.is_unit_to_matrix_iff AffineBasis.isUnit_toMatrix_iffₓ'. -/
 theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
     IsUnit (b.toMatrix p) ↔ AffineIndependent k p ∧ affineSpan k (range p) = ⊤ :=
   by
@@ -206,9 +170,6 @@ variable [CommRing k] [Module k V] [DecidableEq ι] [Fintype ι]
 
 variable (b b₂ : AffineBasis ι k P)
 
-/- warning: affine_basis.to_matrix_inv_vec_mul_to_matrix -> AffineBasis.toMatrix_inv_vecMul_toMatrix is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
 See also `affine_basis.to_matrix_vec_mul_coords`. -/
@@ -222,9 +183,6 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
     Matrix.vecMul_one]
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
 
-/- warning: affine_basis.det_smul_coords_eq_cramer_coords -> AffineBasis.det_smul_coords_eq_cramer_coords is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
 theorem det_smul_coords_eq_cramer_coords (x : P) :
Diff
@@ -48,10 +48,7 @@ noncomputable def toMatrix {ι' : Type _} (q : ι' → P) : Matrix ι' ι k := f
 -/
 
 /- warning: affine_basis.to_matrix_apply -> AffineBasis.toMatrix_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u2} k (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (coeFn.{max (succ u3) (succ u4) (succ u2), max (succ u4) (succ u2)} (AffineMap.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) (fun (_x : AffineMap.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) => P -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) (AffineBasis.coord.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
-but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u3} k (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (FunLike.coe.{max (max (succ u4) (succ u5)) (succ u3), succ u5, succ u3} (AffineMap.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (Semiring.toModule.{u3} k (Ring.toSemiring.{u3} k _inst_3)) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => k) _x) (AffineMap.funLike.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (Semiring.toModule.{u3} k (Ring.toSemiring.{u3} k _inst_3)) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) (AffineBasis.coord.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
+<too large>
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_apply AffineBasis.toMatrix_applyₓ'. -/
 @[simp]
 theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
@@ -85,10 +82,7 @@ theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j,
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
 /- warning: affine_basis.affine_independent_of_to_matrix_right_inv -> AffineBasis.affineIndependent_of_toMatrix_right_inv is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} [_inst_5 : Fintype.{u5} ι'] [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u5} ι'] (p : ι' -> P) {A : Matrix.{u1, u5, u2} ι ι' k}, (Eq.{succ (max u5 u2)} (Matrix.{u5, u5, u2} ι' ι' k) (Matrix.mul.{u2, u5, u1, u5} ι' ι ι' k _inst_6 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) 1 (OfNat.mk.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) 1 (One.one.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) (Matrix.hasOne.{u2, u5} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))) -> (AffineIndependent.{u2, u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
-but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u1} ι'] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u3) (succ u1)} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.mul.{u3, u1, u2, u1} ι' ι ι' k _inst_6 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) 1 (One.toOfNat1.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.one.{u3, u1} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_3)))))) -> (AffineIndependent.{u3, u4, u5, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
+<too large>
 Case conversion may be inaccurate. Consider using '#align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
@@ -110,10 +104,7 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
 
 /- warning: affine_basis.affine_span_eq_top_of_to_matrix_left_inv -> AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} [_inst_5 : Fintype.{u5} ι'] [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι' -> P) {A : Matrix.{u1, u5, u2} ι ι' k}, (Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u5, u1} ι ι' ι k _inst_5 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) A (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))) -> (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u5} P ι' p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toHasTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.completeLattice.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
-but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] [_inst_8 : Nontrivial.{u3} k] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u2) (succ u3)} (Matrix.{u2, u2, u3} ι ι k) (Matrix.mul.{u3, u2, u1, u2} ι ι' ι k _inst_5 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) A (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) 1 (One.toOfNat1.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) (Matrix.one.{u3, u2} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_3)))))) -> (Eq.{succ u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u5, succ u1} P ι' p)) (Top.top.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toTop.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.instCompleteLatticeAffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
@@ -164,10 +155,7 @@ theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x
 variable [DecidableEq ι]
 
 /- warning: affine_basis.to_matrix_mul_to_matrix -> AffineBasis.toMatrix_mul_toMatrix is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (NonUnitalNonAssocRing.toMul.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (Semiring.toOne.{u2} k (Ring.toSemiring.{u2} k _inst_3)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrixₓ'. -/
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   by
@@ -219,10 +207,7 @@ variable [CommRing k] [Module k V] [DecidableEq ι] [Fintype ι]
 variable (b b₂ : AffineBasis ι k P)
 
 /- warning: affine_basis.to_matrix_inv_vec_mul_to_matrix -> AffineBasis.toMatrix_inv_vecMul_toMatrix is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasInv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
-but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
@@ -238,10 +223,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
 
 /- warning: affine_basis.det_smul_coords_eq_cramer_coords -> AffineBasis.det_smul_coords_eq_cramer_coords is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
-but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -241,7 +241,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -241,7 +241,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -51,7 +51,7 @@ noncomputable def toMatrix {ι' : Type _} (q : ι' → P) : Matrix ι' ι k := f
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u2} k (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (coeFn.{max (succ u3) (succ u4) (succ u2), max (succ u4) (succ u2)} (AffineMap.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) (fun (_x : AffineMap.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) => P -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) (AffineBasis.coord.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
 but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u3} k (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (FunLike.coe.{max (max (succ u4) (succ u5)) (succ u3), succ u5, succ u3} (AffineMap.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} k _inst_3) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => k) _x) (AffineMap.funLike.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} k _inst_3) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) (AffineBasis.coord.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u3} k (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (FunLike.coe.{max (max (succ u4) (succ u5)) (succ u3), succ u5, succ u3} (AffineMap.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (Semiring.toModule.{u3} k (Ring.toSemiring.{u3} k _inst_3)) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => k) _x) (AffineMap.funLike.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (Semiring.toModule.{u3} k (Ring.toSemiring.{u3} k _inst_3)) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) (AffineBasis.coord.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_apply AffineBasis.toMatrix_applyₓ'. -/
 @[simp]
 theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
@@ -222,7 +222,7 @@ variable (b b₂ : AffineBasis ι k P)
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasInv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
@@ -241,7 +241,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -222,7 +222,7 @@ variable (b b₂ : AffineBasis ι k P)
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasInv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
@@ -241,7 +241,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2934 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2922 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.273 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -63,7 +63,7 @@ theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (NonAssocRing.toOne.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (Semiring.toOne.{u2} k (Ring.toSemiring.{u2} k _inst_3)))))
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_self AffineBasis.toMatrix_selfₓ'. -/
 @[simp]
 theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
@@ -78,7 +78,7 @@ variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] {ι' : Type.{u5}} (q : ι' -> P) (i : ι'), Eq.{succ u2} k (Finset.sum.{u2, u1} k ι (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (Finset.univ.{u1} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u2} k 1 (OfNat.mk.{u2} k 1 (One.one.{u2} k (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3)))))))
 but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u2} ι] {ι' : Type.{u1}} (q : ι' -> P) (i : ι'), Eq.{succ u3} k (Finset.sum.{u3, u2} k ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (Finset.univ.{u2} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))))
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u2} ι] {ι' : Type.{u1}} (q : ι' -> P) (i : ι'), Eq.{succ u3} k (Finset.sum.{u3, u2} k ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (Finset.univ.{u2} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_3))))
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_oneₓ'. -/
 theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j, b.toMatrix q i j) = 1 := by
   simp
@@ -88,7 +88,7 @@ theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j,
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} [_inst_5 : Fintype.{u5} ι'] [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u5} ι'] (p : ι' -> P) {A : Matrix.{u1, u5, u2} ι ι' k}, (Eq.{succ (max u5 u2)} (Matrix.{u5, u5, u2} ι' ι' k) (Matrix.mul.{u2, u5, u1, u5} ι' ι ι' k _inst_6 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) 1 (OfNat.mk.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) 1 (One.one.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) (Matrix.hasOne.{u2, u5} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))) -> (AffineIndependent.{u2, u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
 but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u1} ι'] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u3) (succ u1)} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.mul.{u3, u1, u2, u1} ι' ι ι' k _inst_6 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) 1 (One.toOfNat1.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.one.{u3, u1} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))))) -> (AffineIndependent.{u3, u4, u5, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u1} ι'] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u3) (succ u1)} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.mul.{u3, u1, u2, u1} ι' ι ι' k _inst_6 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) 1 (One.toOfNat1.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.one.{u3, u1} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_3)))))) -> (AffineIndependent.{u3, u4, u5, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
 Case conversion may be inaccurate. Consider using '#align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
@@ -113,7 +113,7 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} [_inst_5 : Fintype.{u5} ι'] [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι' -> P) {A : Matrix.{u1, u5, u2} ι ι' k}, (Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u5, u1} ι ι' ι k _inst_5 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) A (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))) -> (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u5} P ι' p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toHasTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.completeLattice.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
 but is expected to have type
-  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] [_inst_8 : Nontrivial.{u3} k] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u2) (succ u3)} (Matrix.{u2, u2, u3} ι ι k) (Matrix.mul.{u3, u2, u1, u2} ι ι' ι k _inst_5 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) A (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) 1 (One.toOfNat1.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) (Matrix.one.{u3, u2} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))))) -> (Eq.{succ u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u5, succ u1} P ι' p)) (Top.top.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toTop.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.instCompleteLatticeAffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] [_inst_8 : Nontrivial.{u3} k] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u2) (succ u3)} (Matrix.{u2, u2, u3} ι ι k) (Matrix.mul.{u3, u2, u1, u2} ι ι' ι k _inst_5 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) A (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) 1 (One.toOfNat1.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) (Matrix.one.{u3, u2} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (Semiring.toOne.{u3} k (Ring.toSemiring.{u3} k _inst_3)))))) -> (Eq.{succ u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u5, succ u1} P ι' p)) (Top.top.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toTop.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.instCompleteLatticeAffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
 Case conversion may be inaccurate. Consider using '#align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
@@ -167,7 +167,7 @@ variable [DecidableEq ι]
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (NonUnitalNonAssocRing.toMul.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (NonAssocRing.toOne.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (NonUnitalNonAssocRing.toMul.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (Semiring.toOne.{u2} k (Ring.toSemiring.{u2} k _inst_3)))))
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrixₓ'. -/
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   by
@@ -222,7 +222,7 @@ variable (b b₂ : AffineBasis ι k P)
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasInv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
@@ -241,7 +241,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2934 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2934 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (CommSemiring.toSemiring.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Oliver Nash
 
 ! This file was ported from Lean 3 source module linear_algebra.affine_space.matrix
-! leanprover-community/mathlib commit 2de9c37fa71dde2f1c6feff19876dd6a7b1519f0
+! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
 ! 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.Determinant
 /-!
 # Matrix results for barycentric co-ordinates
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Results about the matrix of barycentric co-ordinates for a family of points in an affine space, with
 respect to some affine basis.
 -/
Diff
@@ -219,7 +219,7 @@ variable (b b₂ : AffineBasis ι k P)
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasInv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
 Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
@@ -238,7 +238,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2934 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2934 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3599 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -238,7 +238,7 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 but is expected to have type
-  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2939 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2934 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
 Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
Diff
@@ -35,19 +35,33 @@ section Ring
 
 variable [Ring k] [Module k V] (b : AffineBasis ι k P)
 
+#print AffineBasis.toMatrix /-
 /-- Given an affine basis `p`, and a family of points `q : ι' → P`, this is the matrix whose
 rows are the barycentric coordinates of `q` with respect to `p`.
 
 It is an affine equivalent of `basis.to_matrix`. -/
 noncomputable def toMatrix {ι' : Type _} (q : ι' → P) : Matrix ι' ι k := fun i j => b.Coord j (q i)
 #align affine_basis.to_matrix AffineBasis.toMatrix
+-/
 
+/- warning: affine_basis.to_matrix_apply -> AffineBasis.toMatrix_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u2} k (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (coeFn.{max (succ u3) (succ u4) (succ u2), max (succ u4) (succ u2)} (AffineMap.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) (fun (_x : AffineMap.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) => P -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, u2, u2} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k _inst_3)) (addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))) (AffineBasis.coord.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
+but is expected to have type
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} (q : ι' -> P) (i : ι') (j : ι), Eq.{succ u3} k (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j) (FunLike.coe.{max (max (succ u4) (succ u5)) (succ u3), succ u5, succ u3} (AffineMap.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} k _inst_3) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => k) _x) (AffineMap.funLike.{u3, u4, u5, u3, u3} k V P k k _inst_3 _inst_1 _inst_4 _inst_2 (Ring.toAddCommGroup.{u3} k _inst_3) (AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u3} k _inst_3) (addGroupIsAddTorsor.{u3} k (AddGroupWithOne.toAddGroup.{u3} k (Ring.toAddGroupWithOne.{u3} k _inst_3)))) (AffineBasis.coord.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b j) (q i))
+Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_apply AffineBasis.toMatrix_applyₓ'. -/
 @[simp]
 theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
     b.toMatrix q i j = b.Coord j (q i) :=
   rfl
 #align affine_basis.to_matrix_apply AffineBasis.toMatrix_apply
 
+/- warning: affine_basis.to_matrix_self -> AffineBasis.toMatrix_self is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_5 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_5 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (NonAssocRing.toOne.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))))
+Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_self AffineBasis.toMatrix_selfₓ'. -/
 @[simp]
 theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
   by
@@ -57,10 +71,22 @@ theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
 
 variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 
+/- warning: affine_basis.to_matrix_row_sum_one -> AffineBasis.toMatrix_row_sum_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] {ι' : Type.{u5}} (q : ι' -> P) (i : ι'), Eq.{succ u2} k (Finset.sum.{u2, u1} k ι (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (Finset.univ.{u1} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u2} k 1 (OfNat.mk.{u2} k 1 (One.one.{u2} k (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3)))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u2} ι] {ι' : Type.{u1}} (q : ι' -> P) (i : ι'), Eq.{succ u3} k (Finset.sum.{u3, u2} k ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (Finset.univ.{u2} ι _inst_6) (fun (j : ι) => AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' q i j)) (OfNat.ofNat.{u3} k 1 (One.toOfNat1.{u3} k (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))))
+Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_oneₓ'. -/
 theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j, b.toMatrix q i j) = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
+/- warning: affine_basis.affine_independent_of_to_matrix_right_inv -> AffineBasis.affineIndependent_of_toMatrix_right_inv is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} [_inst_5 : Fintype.{u5} ι'] [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u5} ι'] (p : ι' -> P) {A : Matrix.{u1, u5, u2} ι ι' k}, (Eq.{succ (max u5 u2)} (Matrix.{u5, u5, u2} ι' ι' k) (Matrix.mul.{u2, u5, u1, u5} ι' ι ι' k _inst_6 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) 1 (OfNat.mk.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) 1 (One.one.{max u5 u2} (Matrix.{u5, u5, u2} ι' ι' k) (Matrix.hasOne.{u2, u5} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))) -> (AffineIndependent.{u2, u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
+but is expected to have type
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u1} ι'] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u3) (succ u1)} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.mul.{u3, u1, u2, u1} ι' ι ι' k _inst_6 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p) A) (OfNat.ofNat.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) 1 (One.toOfNat1.{max u3 u1} (Matrix.{u1, u1, u3} ι' ι' k) (Matrix.one.{u3, u1} ι' k (fun (a : ι') (b : ι') => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))))) -> (AffineIndependent.{u3, u4, u5, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι' p)
+Case conversion may be inaccurate. Consider using '#align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
 theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P) {A : Matrix ι ι' k}
@@ -80,6 +106,12 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
   simpa only [Matrix.vecMul_vecMul, ← Matrix.mul_eq_mul, hA, Matrix.vecMul_one] using hweq'
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
 
+/- warning: affine_basis.affine_span_eq_top_of_to_matrix_left_inv -> AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u5}} [_inst_5 : Fintype.{u5} ι'] [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι' -> P) {A : Matrix.{u1, u5, u2} ι ι' k}, (Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u5, u1} ι ι' ι k _inst_5 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) A (AffineBasis.toMatrix.{u1, u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))) -> (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u5} P ι' p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toHasTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.completeLattice.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
+but is expected to have type
+  forall {ι : Type.{u2}} {k : Type.{u3}} {V : Type.{u4}} {P : Type.{u5}} [_inst_1 : AddCommGroup.{u4} V] [_inst_2 : AddTorsor.{u4, u5} V P (AddCommGroup.toAddGroup.{u4} V _inst_1)] [_inst_3 : Ring.{u3} k] [_inst_4 : Module.{u3, u4} k V (Ring.toSemiring.{u3} k _inst_3) (AddCommGroup.toAddCommMonoid.{u4} V _inst_1)] (b : AffineBasis.{u2, u3, u4, u5} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) {ι' : Type.{u1}} [_inst_5 : Fintype.{u1} ι'] [_inst_6 : Fintype.{u2} ι] [_inst_7 : DecidableEq.{succ u2} ι] [_inst_8 : Nontrivial.{u3} k] (p : ι' -> P) {A : Matrix.{u2, u1, u3} ι ι' k}, (Eq.{max (succ u2) (succ u3)} (Matrix.{u2, u2, u3} ι ι k) (Matrix.mul.{u3, u2, u1, u2} ι ι' ι k _inst_5 (NonUnitalNonAssocRing.toMul.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} k (NonAssocRing.toNonUnitalNonAssocRing.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))) A (AffineBasis.toMatrix.{u2, u3, u4, u5, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι' p)) (OfNat.ofNat.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) 1 (One.toOfNat1.{max u2 u3} (Matrix.{u2, u2, u3} ι ι k) (Matrix.one.{u3, u2} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u3} k (Semiring.toMonoidWithZero.{u3} k (Ring.toSemiring.{u3} k _inst_3))) (NonAssocRing.toOne.{u3} k (Ring.toNonAssocRing.{u3} k _inst_3)))))) -> (Eq.{succ u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u5, succ u1} P ι' p)) (Top.top.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toTop.{u5} (AffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.instCompleteLatticeAffineSubspace.{u3, u4, u5} k V P _inst_3 _inst_1 _inst_4 _inst_2))))
+Case conversion may be inaccurate. Consider using '#align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_invₓ'. -/
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
 theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (p : ι' → P)
@@ -111,6 +143,7 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
   exact affineCombination_mem_affineSpan hAi p
 #align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv
 
+#print AffineBasis.toMatrix_vecMul_coords /-
 /-- A change of basis formula for barycentric coordinates.
 
 See also `affine_basis.to_matrix_inv_mul_affine_basis_to_matrix`. -/
@@ -123,9 +156,16 @@ theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x
   rw [Finset.map_affineCombination _ _ _ (b₂.sum_coord_apply_eq_one x)]
   simp [Matrix.vecMul, Matrix.dotProduct, to_matrix_apply, coords]
 #align affine_basis.to_matrix_vec_mul_coords AffineBasis.toMatrix_vecMul_coords
+-/
 
 variable [DecidableEq ι]
 
+/- warning: affine_basis.to_matrix_mul_to_matrix -> AffineBasis.toMatrix_mul_toMatrix is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasOne.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} k (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))))) (AddMonoidWithOne.toOne.{u2} k (AddGroupWithOne.toAddMonoidWithOne.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k _inst_3))))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} ι ι k) (Matrix.mul.{u2, u1, u1, u1} ι ι ι k _inst_6 (NonUnitalNonAssocRing.toMul.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b₂)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b₂ ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.one.{u2, u1} ι k (fun (a : ι) (b : ι) => _inst_7 a b) (MonoidWithZero.toZero.{u2} k (Semiring.toMonoidWithZero.{u2} k (Ring.toSemiring.{u2} k _inst_3))) (NonAssocRing.toOne.{u2} k (Ring.toNonAssocRing.{u2} k _inst_3)))))
+Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrixₓ'. -/
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   by
   ext (l m)
@@ -133,6 +173,12 @@ theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 :=
   rw [to_matrix_vec_mul_coords, coords_apply, ← to_matrix_apply, to_matrix_self]
 #align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrix
 
+/- warning: affine_basis.is_unit_to_matrix -> AffineBasis.isUnit_toMatrix is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.ring.{u2, u1} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b) _inst_3)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4)) b₂))
+but is expected to have type
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_7 : DecidableEq.{succ u1} ι], IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.semiring.{u2, u1} ι k (Ring.toSemiring.{u2} k _inst_3) _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) b₂))
+Case conversion may be inaccurate. Consider using '#align affine_basis.is_unit_to_matrix AffineBasis.isUnit_toMatrixₓ'. -/
 theorem isUnit_toMatrix : IsUnit (b.toMatrix b₂) :=
   ⟨{  val := b.toMatrix b₂
       inv := b₂.toMatrix b
@@ -140,6 +186,12 @@ theorem isUnit_toMatrix : IsUnit (b.toMatrix b₂) :=
       inv_val := b₂.toMatrix_mul_toMatrix b }, rfl⟩
 #align affine_basis.is_unit_to_matrix AffineBasis.isUnit_toMatrix
 
+/- warning: affine_basis.is_unit_to_matrix_iff -> AffineBasis.isUnit_toMatrix_iff is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι -> P), Iff (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.ring.{u2, u1} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b) _inst_3)) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι p)) (And (AffineIndependent.{u2, u3, u4, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι p) (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u1} P ι p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toHasTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.completeLattice.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : Ring.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k _inst_3) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 _inst_3 _inst_4) [_inst_6 : Fintype.{u1} ι] [_inst_7 : DecidableEq.{succ u1} ι] [_inst_8 : Nontrivial.{u2} k] (p : ι -> P), Iff (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.semiring.{u2, u1} ι k (Ring.toSemiring.{u2} k _inst_3) _inst_6 (fun (a : ι) (b : ι) => _inst_7 a b)))) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 _inst_3 _inst_4 b ι p)) (And (AffineIndependent.{u2, u3, u4, u1} k V P _inst_3 _inst_1 _inst_4 _inst_2 ι p) (Eq.{succ u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (affineSpan.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2 (Set.range.{u4, succ u1} P ι p)) (Top.top.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (CompleteLattice.toTop.{u4} (AffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2) (AffineSubspace.instCompleteLatticeAffineSubspace.{u2, u3, u4} k V P _inst_3 _inst_1 _inst_4 _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align affine_basis.is_unit_to_matrix_iff AffineBasis.isUnit_toMatrix_iffₓ'. -/
 theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
     IsUnit (b.toMatrix p) ↔ AffineIndependent k p ∧ affineSpan k (range p) = ⊤ :=
   by
@@ -163,6 +215,12 @@ variable [CommRing k] [Module k V] [DecidableEq ι] [Fintype ι]
 
 variable (b b₂ : AffineBasis ι k P)
 
+/- warning: affine_basis.to_matrix_inv_vec_mul_to_matrix -> AffineBasis.toMatrix_inv_vecMul_toMatrix is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.hasInv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+but is expected to have type
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} (ι -> k) (Matrix.vecMul.{u2, u1, u1} ι ι k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) _inst_6 (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x) (Inv.inv.{max u1 u2} (Matrix.{u1, u1, u2} ι ι k) (Matrix.inv.{u1, u2} ι k _inst_6 (fun (a : ι) (b : ι) => _inst_5 a b) _inst_3) (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)
+Case conversion may be inaccurate. Consider using '#align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrixₓ'. -/
 /-- A change of basis formula for barycentric coordinates.
 
 See also `affine_basis.to_matrix_vec_mul_coords`. -/
@@ -176,6 +234,12 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
     Matrix.vecMul_one]
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
 
+/- warning: affine_basis.det_smul_coords_eq_cramer_coords -> AffineBasis.det_smul_coords_eq_cramer_coords is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{succ (max u1 u2)} (ι -> k) (SMul.smul.{u2, max u1 u2} k (ι -> k) (Function.hasSMul.{u1, u2, u2} ι k k (Mul.toSMul.{u2} k (Distrib.toHasMul.{u2} k (Ring.toDistrib.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) => (ι -> k) -> ι -> k) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.Function.module.{u1, u2, u2} ι k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (Semiring.toNonAssocSemiring.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (fun (_x : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) => ι -> P) (FunLike.hasCoeToFun.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => P) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4)) b₂)))) (coeFn.{max (succ u3) (succ u4) (succ (max u1 u2)), max (succ u4) (succ (max u1 u2))} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (fun (_x : AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) => P -> ι -> k) (AffineMap.hasCoeToFun.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toAddCommGroup.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.addTorsor.{u1, u2, u2} ι (fun (i : ι) => k) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (fun (ᾰ : ι) => k) (fun (i : ι) => addGroupIsAddTorsor.{u2} k (AddGroupWithOne.toAddGroup.{u2} k (AddCommGroupWithOne.toAddGroupWithOne.{u2} k (Ring.toAddCommGroupWithOne.{u2} k (CommRing.toRing.{u2} k _inst_3))))))) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+but is expected to have type
+  forall {ι : Type.{u1}} {k : Type.{u2}} {V : Type.{u3}} {P : Type.{u4}} [_inst_1 : AddCommGroup.{u3} V] [_inst_2 : AddTorsor.{u3, u4} V P (AddCommGroup.toAddGroup.{u3} V _inst_1)] [_inst_3 : CommRing.{u2} k] [_inst_4 : Module.{u2, u3} k V (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_1)] [_inst_5 : DecidableEq.{succ u1} ι] [_inst_6 : Fintype.{u1} ι] (b : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (b₂ : AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) (x : P), Eq.{max (succ u1) (succ u2)} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (HSMul.hSMul.{u2, max u1 u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (instHSMul.{u2, max u1 u2} k ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) x) (Pi.instSMul.{u1, u2, u2} ι k (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.2939 : ι) => k) (fun (i : ι) => Algebra.toSMul.{u2, u2} k k (CommRing.toCommSemiring.{u2} k _inst_3) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Algebra.id.{u2} k (CommRing.toCommSemiring.{u2} k _inst_3))))) (Matrix.det.{u2, u1} ι (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 k _inst_3 (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b₂) x)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} k k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (ι -> k) (ι -> k) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (ι -> k) (fun (_x : ι -> k) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : ι -> k) => ι -> k) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} k k (ι -> k) (ι -> k) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.addCommMonoid.{u1, u2} ι (fun (ᾰ : ι) => k) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3)))))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.Matrix.Adjugate._hyg.274 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => Semiring.toModule.{u2} k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)))) (RingHom.id.{u2} k (NonAssocRing.toNonAssocSemiring.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (Matrix.cramer.{u1, u2} ι k (fun (a : ι) (b : ι) => _inst_5 a b) _inst_6 _inst_3 (Matrix.transpose.{u2, u1, u1} ι ι k (AffineBasis.toMatrix.{u1, u2, u3, u4, u1} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b ι (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (AffineBasis.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.AffineSpace.Basis._hyg.252 : ι) => P) _x) (AffineBasis.funLike.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4) b₂)))) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ (max u1 u2)), succ u4, succ (max u1 u2)} (AffineMap.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3609 : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : P) => ι -> k) _x) (AffineMap.funLike.{u2, u3, u4, max u1 u2, max u1 u2} k V P (ι -> k) (ι -> k) (CommRing.toRing.{u2} k _inst_3) _inst_1 _inst_4 _inst_2 (Pi.addCommGroup.{u1, u2} ι (fun (i : ι) => k) (fun (i : ι) => Ring.toAddCommGroup.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Pi.module.{u1, u2, u2} ι (fun (i : ι) => k) k (Ring.toSemiring.{u2} k (CommRing.toRing.{u2} k _inst_3)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} k (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} k (NonAssocRing.toNonUnitalNonAssocRing.{u2} k (Ring.toNonAssocRing.{u2} k (CommRing.toRing.{u2} k _inst_3))))) (fun (i : ι) => AffineMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRing.{u2} k (CommRing.toRing.{u2} k _inst_3))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u2, u1} k (CommRing.toRing.{u2} k _inst_3) ι)) (AffineBasis.coords.{u1, u2, u3, u4} ι k V P _inst_1 _inst_2 (CommRing.toRing.{u2} k _inst_3) _inst_4 b) x))
+Case conversion may be inaccurate. Consider using '#align affine_basis.det_smul_coords_eq_cramer_coords AffineBasis.det_smul_coords_eq_cramer_coordsₓ'. -/
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
 theorem det_smul_coords_eq_cramer_coords (x : P) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Oliver Nash
 
 ! This file was ported from Lean 3 source module linear_algebra.affine_space.matrix
-! leanprover-community/mathlib commit 2f4cdce0c2f2f3b8cd58f05d556d03b468e1eb2e
+! leanprover-community/mathlib commit 2de9c37fa71dde2f1c6feff19876dd6a7b1519f0
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -99,7 +99,7 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
       _ = ∑ l, (A ⬝ b.to_matrix p) i l := rfl
       _ = 1 := by simp [hA, Matrix.one_apply, Finset.filter_eq]
       
-  have hbi : b i = finset.univ.affine_combination p (A i) :=
+  have hbi : b i = finset.univ.affine_combination k p (A i) :=
     by
     apply b.ext_elem
     intro j

Changes in mathlib4

mathlib3
mathlib4
chore(AffineSpace/Matrix): fix Fintype/Finite (#11559)
Diff
@@ -50,16 +50,17 @@ theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
   rw [toMatrix_apply, coord_apply, Matrix.one_eq_pi_single, Pi.single_apply]
 #align affine_basis.to_matrix_self AffineBasis.toMatrix_self
 
-variable {ι' : Type*} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
+variable {ι' : Type*}
 
-theorem toMatrix_row_sum_one {ι' : Type*} (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
+theorem toMatrix_row_sum_one [Fintype ι] (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
-theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P) {A : Matrix ι ι' k}
-    (hA : b.toMatrix p * A = 1) : AffineIndependent k p := by
+theorem affineIndependent_of_toMatrix_right_inv [Fintype ι] [Finite ι'] [DecidableEq ι']
+    (p : ι' → P) {A : Matrix ι ι' k} (hA : b.toMatrix p * A = 1) : AffineIndependent k p := by
+  cases nonempty_fintype ι'
   rw [affineIndependent_iff_eq_of_fintype_affineCombination_eq]
   intro w₁ w₂ hw₁ hw₂ hweq
   have hweq' : w₁ ᵥ* b.toMatrix p = w₂ ᵥ* b.toMatrix p := by
@@ -77,8 +78,10 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
 
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
-theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (p : ι' → P)
-    {A : Matrix ι ι' k} (hA : A * b.toMatrix p = 1) : affineSpan k (range p) = ⊤ := by
+theorem affineSpan_eq_top_of_toMatrix_left_inv [Finite ι] [Fintype ι'] [DecidableEq ι]
+    [Nontrivial k] (p : ι' → P) {A : Matrix ι ι' k} (hA : A * b.toMatrix p = 1) :
+    affineSpan k (range p) = ⊤ := by
+  cases nonempty_fintype ι
   suffices ∀ i, b i ∈ affineSpan k (range p) by
     rw [eq_top_iff, ← b.tot, affineSpan_le]
     rintro q ⟨i, rfl⟩
@@ -102,6 +105,8 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
   exact affineCombination_mem_affineSpan hAi p
 #align affine_basis.affine_span_eq_top_of_to_matrix_left_inv AffineBasis.affineSpan_eq_top_of_toMatrix_left_inv
 
+variable [Fintype ι] (b₂ : AffineBasis ι k P)
+
 /-- A change of basis formula for barycentric coordinates.
 
 See also `AffineBasis.toMatrix_inv_vecMul_toMatrix`. -/
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -23,7 +23,6 @@ open Set
 universe u₁ u₂ u₃ u₄
 
 variable {ι : Type u₁} {k : Type u₂} {V : Type u₃} {P : Type u₄}
-
 variable [AddCommGroup V] [AffineSpace V P]
 
 namespace AffineBasis
@@ -147,7 +146,6 @@ end Ring
 section CommRing
 
 variable [CommRing k] [Module k V] [DecidableEq ι] [Fintype ι]
-
 variable (b b₂ : AffineBasis ι k P)
 
 /-- A change of basis formula for barycentric coordinates.
chore: Matrix.mulVec and Matrix.vecMul get infix notation (#10297)

Zulip discussion: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/Notation.20for.20mul_vec.20and.20vec_mul

Co-authored-by: Martin Dvorak <mdvorak@ista.ac.at>

Diff
@@ -63,7 +63,7 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
     (hA : b.toMatrix p * A = 1) : AffineIndependent k p := by
   rw [affineIndependent_iff_eq_of_fintype_affineCombination_eq]
   intro w₁ w₂ hw₁ hw₂ hweq
-  have hweq' : (b.toMatrix p).vecMul w₁ = (b.toMatrix p).vecMul w₂ := by
+  have hweq' : w₁ ᵥ* b.toMatrix p = w₂ ᵥ* b.toMatrix p := by
     ext j
     change (∑ i, w₁ i • b.coord j (p i)) = ∑ i, w₂ i • b.coord j (p i)
     -- Porting note: Added `u` because `∘` was causing trouble
@@ -72,7 +72,7 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
       ← Finset.univ.affineCombination_eq_linear_combination _ _ hw₂, u,
       ← Finset.univ.map_affineCombination p w₁ hw₁, ← Finset.univ.map_affineCombination p w₂ hw₂,
       hweq]
-  replace hweq' := congr_arg (fun w => A.vecMul w) hweq'
+  replace hweq' := congr_arg (fun w => w ᵥ* A) hweq'
   simpa only [Matrix.vecMul_vecMul, hA, Matrix.vecMul_one] using hweq'
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
 
@@ -107,7 +107,7 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
 
 See also `AffineBasis.toMatrix_inv_vecMul_toMatrix`. -/
 @[simp]
-theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x) = b.coords x := by
+theorem toMatrix_vecMul_coords (x : P) : b₂.coords x ᵥ* b.toMatrix b₂ = b.coords x := by
   ext j
   change _ = b.coord j x
   conv_rhs => rw [← b₂.affineCombination_coord_eq_self x]
@@ -119,7 +119,7 @@ variable [DecidableEq ι]
 
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ * b₂.toMatrix b = 1 := by
   ext l m
-  change (b₂.toMatrix b).vecMul (b.coords (b₂ l)) m = _
+  change (b.coords (b₂ l) ᵥ* b₂.toMatrix b) m = _
   rw [toMatrix_vecMul_coords, coords_apply, ← toMatrix_apply, toMatrix_self]
 #align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrix
 
@@ -155,7 +155,7 @@ variable (b b₂ : AffineBasis ι k P)
 See also `AffineBasis.toMatrix_vecMul_coords`. -/
 @[simp]
 theorem toMatrix_inv_vecMul_toMatrix (x : P) :
-    (b.toMatrix b₂)⁻¹.vecMul (b.coords x) = b₂.coords x := by
+    b.coords x ᵥ* (b.toMatrix b₂)⁻¹ = b₂.coords x := by
   have hu := b.isUnit_toMatrix b₂
   rw [Matrix.isUnit_iff_isUnit_det] at hu
   rw [← b.toMatrix_vecMul_coords b₂, Matrix.vecMul_vecMul, Matrix.mul_nonsing_inv _ hu,
chore: reduce imports (#9830)

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

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

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Oliver Nash
 -/
 import Mathlib.LinearAlgebra.AffineSpace.Basis
-import Mathlib.LinearAlgebra.Determinant
+import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
 
 #align_import linear_algebra.affine_space.matrix from "leanprover-community/mathlib"@"2de9c37fa71dde2f1c6feff19876dd6a7b1519f0"
 
refactor(Data/Matrix): Eliminate notation in favor of HMul (#6487)

The main difficulty here is that * has a slightly difference precedence to . notably around smul and neg.

The other annoyance is that ↑U ⬝ A ⬝ ↑U⁻¹ : Matrix m m 𝔸 now has to be written U.val * A * (U⁻¹).val in order to typecheck.

A downside of this change to consider: if you have a goal of A * (B * C) = (A * B) * C, mul_assoc now gives the illusion of matching, when in fact Matrix.mul_assoc is needed. Previously the distinct symbol made it easy to avoid this mistake.

On the flipside, there is now no need to rewrite by Matrix.mul_eq_mul all the time (indeed, the lemma is now removed).

Diff
@@ -60,7 +60,7 @@ theorem toMatrix_row_sum_one {ι' : Type*} (q : ι' → P) (i : ι') : ∑ j, b.
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a right inverse, then `p` is affine independent. -/
 theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P) {A : Matrix ι ι' k}
-    (hA : b.toMatrix p ⬝ A = 1) : AffineIndependent k p := by
+    (hA : b.toMatrix p * A = 1) : AffineIndependent k p := by
   rw [affineIndependent_iff_eq_of_fintype_affineCombination_eq]
   intro w₁ w₂ hw₁ hw₂ hweq
   have hweq' : (b.toMatrix p).vecMul w₁ = (b.toMatrix p).vecMul w₂ := by
@@ -73,13 +73,13 @@ theorem affineIndependent_of_toMatrix_right_inv [DecidableEq ι'] (p : ι' → P
       ← Finset.univ.map_affineCombination p w₁ hw₁, ← Finset.univ.map_affineCombination p w₂ hw₂,
       hweq]
   replace hweq' := congr_arg (fun w => A.vecMul w) hweq'
-  simpa only [Matrix.vecMul_vecMul, ← Matrix.mul_eq_mul, hA, Matrix.vecMul_one] using hweq'
+  simpa only [Matrix.vecMul_vecMul, hA, Matrix.vecMul_one] using hweq'
 #align affine_basis.affine_independent_of_to_matrix_right_inv AffineBasis.affineIndependent_of_toMatrix_right_inv
 
 /-- Given a family of points `p : ι' → P` and an affine basis `b`, if the matrix whose rows are the
 coordinates of `p` with respect `b` has a left inverse, then `p` spans the entire space. -/
 theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (p : ι' → P)
-    {A : Matrix ι ι' k} (hA : A ⬝ b.toMatrix p = 1) : affineSpan k (range p) = ⊤ := by
+    {A : Matrix ι ι' k} (hA : A * b.toMatrix p = 1) : affineSpan k (range p) = ⊤ := by
   suffices ∀ i, b i ∈ affineSpan k (range p) by
     rw [eq_top_iff, ← b.tot, affineSpan_le]
     rintro q ⟨i, rfl⟩
@@ -90,14 +90,14 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
       ∑ j, A i j = ∑ j, A i j * ∑ l, b.toMatrix p j l := by simp
       _ = ∑ j, ∑ l, A i j * b.toMatrix p j l := by simp_rw [Finset.mul_sum]
       _ = ∑ l, ∑ j, A i j * b.toMatrix p j l := by rw [Finset.sum_comm]
-      _ = ∑ l, (A ⬝ b.toMatrix p) i l := rfl
+      _ = ∑ l, (A * b.toMatrix p) i l := rfl
       _ = 1 := by simp [hA, Matrix.one_apply, Finset.filter_eq]
   have hbi : b i = Finset.univ.affineCombination k p (A i) := by
     apply b.ext_elem
     intro j
     rw [b.coord_apply, Finset.univ.map_affineCombination _ _ hAi,
       Finset.univ.affineCombination_eq_linear_combination _ _ hAi]
-    change _ = (A ⬝ b.toMatrix p) i j
+    change _ = (A * b.toMatrix p) i j
     simp_rw [hA, Matrix.one_apply, @eq_comm _ i j]
   rw [hbi]
   exact affineCombination_mem_affineSpan hAi p
@@ -117,7 +117,7 @@ theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x
 
 variable [DecidableEq ι]
 
-theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 := by
+theorem toMatrix_mul_toMatrix : b.toMatrix b₂ * b₂.toMatrix b = 1 := by
   ext l m
   change (b₂.toMatrix b).vecMul (b.coords (b₂ l)) m = _
   rw [toMatrix_vecMul_coords, coords_apply, ← toMatrix_apply, toMatrix_self]
@@ -134,7 +134,6 @@ theorem isUnit_toMatrix_iff [Nontrivial k] (p : ι → P) :
     IsUnit (b.toMatrix p) ↔ AffineIndependent k p ∧ affineSpan k (range p) = ⊤ := by
   constructor
   · rintro ⟨⟨B, A, hA, hA'⟩, rfl : B = b.toMatrix p⟩
-    rw [Matrix.mul_eq_mul] at hA hA'
     exact ⟨b.affineIndependent_of_toMatrix_right_inv p hA,
       b.affineSpan_eq_top_of_toMatrix_left_inv p hA'⟩
   · rintro ⟨h_tot, h_ind⟩
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
@@ -36,12 +36,12 @@ variable [Ring k] [Module k V] (b : AffineBasis ι k P)
 rows are the barycentric coordinates of `q` with respect to `p`.
 
 It is an affine equivalent of `Basis.toMatrix`. -/
-noncomputable def toMatrix {ι' : Type _} (q : ι' → P) : Matrix ι' ι k :=
+noncomputable def toMatrix {ι' : Type*} (q : ι' → P) : Matrix ι' ι k :=
   fun i j => b.coord j (q i)
 #align affine_basis.to_matrix AffineBasis.toMatrix
 
 @[simp]
-theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
+theorem toMatrix_apply {ι' : Type*} (q : ι' → P) (i : ι') (j : ι) :
     b.toMatrix q i j = b.coord j (q i) := rfl
 #align affine_basis.to_matrix_apply AffineBasis.toMatrix_apply
 
@@ -51,9 +51,9 @@ theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
   rw [toMatrix_apply, coord_apply, Matrix.one_eq_pi_single, Pi.single_apply]
 #align affine_basis.to_matrix_self AffineBasis.toMatrix_self
 
-variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
+variable {ι' : Type*} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 
-theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
+theorem toMatrix_row_sum_one {ι' : Type*} (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
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 Oliver Nash. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Oliver Nash
-
-! This file was ported from Lean 3 source module linear_algebra.affine_space.matrix
-! leanprover-community/mathlib commit 2de9c37fa71dde2f1c6feff19876dd6a7b1519f0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.AffineSpace.Basis
 import Mathlib.LinearAlgebra.Determinant
 
+#align_import linear_algebra.affine_space.matrix from "leanprover-community/mathlib"@"2de9c37fa71dde2f1c6feff19876dd6a7b1519f0"
+
 /-!
 # Matrix results for barycentric co-ordinates
 
fix: ∑' precedence (#5615)
  • Also remove most superfluous parentheses around big operators (, and variants).
  • roughly the used regex: ([^a-zA-Zα-ωΑ-Ω'𝓝ℳ₀𝕂ₛ)]) \(([∑∏][^()∑∏]*,[^()∑∏:]*)\) ([⊂⊆=<≤]) replaced by $1 $2 $3
Diff
@@ -56,7 +56,7 @@ theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) :=
 
 variable {ι' : Type _} [Fintype ι'] [Fintype ι] (b₂ : AffineBasis ι k P)
 
-theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : (∑ j, b.toMatrix q i j) = 1 := by
+theorem toMatrix_row_sum_one {ι' : Type _} (q : ι' → P) (i : ι') : ∑ j, b.toMatrix q i j = 1 := by
   simp
 #align affine_basis.to_matrix_row_sum_one AffineBasis.toMatrix_row_sum_one
 
@@ -88,9 +88,9 @@ theorem affineSpan_eq_top_of_toMatrix_left_inv [DecidableEq ι] [Nontrivial k] (
     rintro q ⟨i, rfl⟩
     exact this i
   intro i
-  have hAi : (∑ j, A i j) = 1 := by
+  have hAi : ∑ j, A i j = 1 := by
     calc
-      (∑ j, A i j) = ∑ j, A i j * ∑ l, b.toMatrix p j l := by simp
+      ∑ j, A i j = ∑ j, A i j * ∑ l, b.toMatrix p j l := by simp
       _ = ∑ j, ∑ l, A i j * b.toMatrix p j l := by simp_rw [Finset.mul_sum]
       _ = ∑ l, ∑ j, A i j * b.toMatrix p j l := by rw [Finset.sum_comm]
       _ = ∑ l, (A ⬝ b.toMatrix p) i l := rfl
chore: remove superfluous parentheses in calls to ext (#5258)

Co-authored-by: Xavier Roblot <46200072+xroblot@users.noreply.github.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Riccardo Brasca <riccardo.brasca@gmail.com> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Pol'tta / Miyahara Kō <pol_tta@outlook.jp> Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -50,7 +50,7 @@ theorem toMatrix_apply {ι' : Type _} (q : ι' → P) (i : ι') (j : ι) :
 
 @[simp]
 theorem toMatrix_self [DecidableEq ι] : b.toMatrix b = (1 : Matrix ι ι k) := by
-  ext (i j)
+  ext i j
   rw [toMatrix_apply, coord_apply, Matrix.one_eq_pi_single, Pi.single_apply]
 #align affine_basis.to_matrix_self AffineBasis.toMatrix_self
 
@@ -121,7 +121,7 @@ theorem toMatrix_vecMul_coords (x : P) : (b.toMatrix b₂).vecMul (b₂.coords x
 variable [DecidableEq ι]
 
 theorem toMatrix_mul_toMatrix : b.toMatrix b₂ ⬝ b₂.toMatrix b = 1 := by
-  ext (l m)
+  ext l m
   change (b₂.toMatrix b).vecMul (b.coords (b₂ l)) m = _
   rw [toMatrix_vecMul_coords, coords_apply, ← toMatrix_apply, toMatrix_self]
 #align affine_basis.to_matrix_mul_to_matrix AffineBasis.toMatrix_mul_toMatrix
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
@@ -166,7 +166,6 @@ theorem toMatrix_inv_vecMul_toMatrix (x : P) :
     Matrix.vecMul_one]
 #align affine_basis.to_matrix_inv_vec_mul_to_matrix AffineBasis.toMatrix_inv_vecMul_toMatrix
 
-set_option synthInstance.etaExperiment true in
 /-- If we fix a background affine basis `b`, then for any other basis `b₂`, we can characterise
 the barycentric coordinates provided by `b₂` in terms of determinants relative to `b`. -/
 theorem det_smul_coords_eq_cramer_coords (x : P) :
feat: port LinearAlgebra.AffineSpace.Matrix (#3775)

Dependencies 10 + 624

625 files ported (98.4%)
265441 lines ported (98.7%)
Show graph

The unported dependencies are