linear_algebra.matrix.special_linear_groupMathlib.LinearAlgebra.Matrix.SpecialLinearGroup

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -328,7 +328,7 @@ theorem SL2_inv_expl_det (A : SL(2, R)) : det ![![A.1 1 1, -A.1 0 1], ![-A.1 1 0
   rw [Matrix.det_fin_two, mul_comm]
   simp only [Subtype.val_eq_coe, cons_val_zero, cons_val_one, head_cons, mul_neg, neg_mul, neg_neg]
   have := A.2
-  rw [Matrix.det_fin_two] at this 
+  rw [Matrix.det_fin_two] at this
   convert this
 #align matrix.special_linear_group.SL2_inv_expl_det Matrix.SpecialLinearGroup.SL2_inv_expl_det
 -/
@@ -339,7 +339,7 @@ theorem SL2_inv_expl (A : SL(2, R)) :
   by
   ext
   have := Matrix.adjugate_fin_two A.1
-  simp only [Subtype.val_eq_coe] at this 
+  simp only [Subtype.val_eq_coe] at this
   rw [coe_inv, this]
   rfl
 #align matrix.special_linear_group.SL2_inv_expl Matrix.SpecialLinearGroup.SL2_inv_expl
@@ -350,7 +350,7 @@ theorem fin_two_induction (P : SL(2, R) → Prop)
     (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], by rwa [det_fin_two_of]⟩)
     (g : SL(2, R)) : P g := by
   obtain ⟨m, hm⟩ := g
-  convert h (m 0 0) (m 0 1) (m 1 0) (m 1 1) (by rwa [det_fin_two] at hm )
+  convert h (m 0 0) (m 0 1) (m 1 0) (m 1 1) (by rwa [det_fin_two] at hm)
   ext i j; fin_cases i <;> fin_cases j <;> rfl
 #align matrix.special_linear_group.fin_two_induction Matrix.SpecialLinearGroup.fin_two_induction
 -/
@@ -362,7 +362,7 @@ theorem fin_two_exists_eq_mk_of_apply_zero_one_eq_zero {R : Type _} [Field R] (g
   by
   induction' g using Matrix.SpecialLinearGroup.fin_two_induction with a b c d h_det
   replace hg : c = 0 := by simpa using hg
-  have had : a * d = 1 := by rwa [hg, MulZeroClass.mul_zero, sub_zero] at h_det 
+  have had : a * d = 1 := by rwa [hg, MulZeroClass.mul_zero, sub_zero] at h_det
   refine' ⟨a, b, left_ne_zero_of_mul_eq_one had, _⟩
   simp_rw [eq_inv_of_mul_eq_one_right had, hg]
 #align matrix.special_linear_group.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Anne Baanen. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Anne Baanen
 -/
-import Mathbin.LinearAlgebra.GeneralLinearGroup
-import Mathbin.LinearAlgebra.Matrix.Adjugate
-import Mathbin.LinearAlgebra.Matrix.ToLin
+import LinearAlgebra.GeneralLinearGroup
+import LinearAlgebra.Matrix.Adjugate
+import LinearAlgebra.Matrix.ToLin
 
 #align_import linear_algebra.matrix.special_linear_group from "leanprover-community/mathlib"@"61db041ab8e4aaf8cb5c7dc10a7d4ff261997536"
 
Diff
@@ -196,7 +196,7 @@ instance : Monoid (SpecialLinearGroup n R) :=
 
 instance : Group (SpecialLinearGroup n R) :=
   { SpecialLinearGroup.monoid, SpecialLinearGroup.hasInv with
-    mul_left_inv := fun A => by ext1; simp [adjugate_mul] }
+    hMul_left_inv := fun A => by ext1; simp [adjugate_mul] }
 
 #print Matrix.SpecialLinearGroup.toLin' /-
 /-- A version of `matrix.to_lin' A` that produces linear equivalences. -/
@@ -269,7 +269,7 @@ def map (f : R →+* S) : SpecialLinearGroup n R →* SpecialLinearGroup n S
     where
   toFun g := ⟨f.mapMatrix ↑g, by rw [← f.map_det]; simp [g.2]⟩
   map_one' := Subtype.ext <| f.mapMatrix.map_one
-  map_mul' x y := Subtype.ext <| f.mapMatrix.map_mul x y
+  map_mul' x y := Subtype.ext <| f.mapMatrix.map_hMul x y
 #align matrix.special_linear_group.map Matrix.SpecialLinearGroup.map
 -/
 
@@ -452,7 +452,7 @@ theorem coe_T_zpow (n : ℤ) : ↑ₘ(T ^ n) = !![1, n; 0, 1] :=
 #print ModularGroup.T_pow_mul_apply_one /-
 @[simp]
 theorem T_pow_mul_apply_one (n : ℤ) (g : SL(2, ℤ)) : ↑ₘ(T ^ n * g) 1 = ↑ₘg 1 := by
-  simp [coe_T_zpow, Matrix.mul, Matrix.dotProduct, Fin.sum_univ_succ]
+  simp [coe_T_zpow, HMul.hMul, Matrix.dotProduct, Fin.sum_univ_succ]
 #align modular_group.T_pow_mul_apply_one ModularGroup.T_pow_mul_apply_one
 -/
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Anne Baanen. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Anne Baanen
-
-! This file was ported from Lean 3 source module linear_algebra.matrix.special_linear_group
-! leanprover-community/mathlib commit 61db041ab8e4aaf8cb5c7dc10a7d4ff261997536
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.GeneralLinearGroup
 import Mathbin.LinearAlgebra.Matrix.Adjugate
 import Mathbin.LinearAlgebra.Matrix.ToLin
 
+#align_import linear_algebra.matrix.special_linear_group from "leanprover-community/mathlib"@"61db041ab8e4aaf8cb5c7dc10a7d4ff261997536"
+
 /-!
 # The Special Linear group $SL(n, R)$
 
Diff
@@ -354,7 +354,7 @@ theorem fin_two_induction (P : SL(2, R) → Prop)
     (g : SL(2, R)) : P g := by
   obtain ⟨m, hm⟩ := g
   convert h (m 0 0) (m 0 1) (m 1 0) (m 1 1) (by rwa [det_fin_two] at hm )
-  ext (i j); fin_cases i <;> fin_cases j <;> rfl
+  ext i j; fin_cases i <;> fin_cases j <;> rfl
 #align matrix.special_linear_group.fin_two_induction Matrix.SpecialLinearGroup.fin_two_induction
 -/
 
Diff
@@ -78,7 +78,6 @@ def SpecialLinearGroup :=
 
 end
 
--- mathport name: special_linear_group.fin
 scoped[MatrixGroups] notation "SL(" n ", " R ")" => Matrix.SpecialLinearGroup (Fin n) R
 
 namespace SpecialLinearGroup
@@ -91,7 +90,6 @@ instance hasCoeToMatrix : Coe (SpecialLinearGroup n R) (Matrix n n R) :=
 #align matrix.special_linear_group.has_coe_to_matrix Matrix.SpecialLinearGroup.hasCoeToMatrix
 -/
 
--- mathport name: «expr↑ₘ »
 /- In this file, Lean often has a hard time working out the values of `n` and `R` for an expression
 like `det ↑A`. Rather than writing `(A : matrix n n R)` everywhere in this file which is annoyingly
 verbose, or `A.val` which is not the simp-normal form for subtypes, we create a local notation
@@ -140,10 +138,12 @@ section CoeLemmas
 
 variable (A B : SpecialLinearGroup n R)
 
+#print Matrix.SpecialLinearGroup.coe_mk /-
 @[simp]
 theorem coe_mk (A : Matrix n n R) (h : det A = 1) : ↑(⟨A, h⟩ : SpecialLinearGroup n R) = A :=
   rfl
 #align matrix.special_linear_group.coe_mk Matrix.SpecialLinearGroup.coe_mk
+-/
 
 #print Matrix.SpecialLinearGroup.coe_inv /-
 @[simp]
@@ -152,33 +152,45 @@ theorem coe_inv : ↑ₘA⁻¹ = adjugate A :=
 #align matrix.special_linear_group.coe_inv Matrix.SpecialLinearGroup.coe_inv
 -/
 
+#print Matrix.SpecialLinearGroup.coe_mul /-
 @[simp]
 theorem coe_mul : ↑ₘ(A * B) = ↑ₘA ⬝ ↑ₘB :=
   rfl
 #align matrix.special_linear_group.coe_mul Matrix.SpecialLinearGroup.coe_mul
+-/
 
+#print Matrix.SpecialLinearGroup.coe_one /-
 @[simp]
 theorem coe_one : ↑ₘ(1 : SpecialLinearGroup n R) = (1 : Matrix n n R) :=
   rfl
 #align matrix.special_linear_group.coe_one Matrix.SpecialLinearGroup.coe_one
+-/
 
+#print Matrix.SpecialLinearGroup.det_coe /-
 @[simp]
 theorem det_coe : det ↑ₘA = 1 :=
   A.2
 #align matrix.special_linear_group.det_coe Matrix.SpecialLinearGroup.det_coe
+-/
 
+#print Matrix.SpecialLinearGroup.coe_pow /-
 @[simp]
 theorem coe_pow (m : ℕ) : ↑ₘ(A ^ m) = ↑ₘA ^ m :=
   rfl
 #align matrix.special_linear_group.coe_pow Matrix.SpecialLinearGroup.coe_pow
+-/
 
+#print Matrix.SpecialLinearGroup.det_ne_zero /-
 theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg ≠ 0 := by rw [g.det_coe];
   norm_num
 #align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zero
+-/
 
+#print Matrix.SpecialLinearGroup.row_ne_zero /-
 theorem row_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) (i : n) : ↑ₘg i ≠ 0 := fun h =>
   g.det_ne_zero <| det_eq_zero_of_row_eq_zero i <| by simp [h]
 #align matrix.special_linear_group.row_ne_zero Matrix.SpecialLinearGroup.row_ne_zero
+-/
 
 end CoeLemmas
 
@@ -202,39 +214,53 @@ def toLin' : SpecialLinearGroup n R →* (n → R) ≃ₗ[R] n → R
 #align matrix.special_linear_group.to_lin' Matrix.SpecialLinearGroup.toLin'
 -/
 
+#print Matrix.SpecialLinearGroup.toLin'_apply /-
 theorem toLin'_apply (A : SpecialLinearGroup n R) (v : n → R) :
     SpecialLinearGroup.toLin' A v = Matrix.toLin' (↑ₘA) v :=
   rfl
 #align matrix.special_linear_group.to_lin'_apply Matrix.SpecialLinearGroup.toLin'_apply
+-/
 
+#print Matrix.SpecialLinearGroup.toLin'_to_linearMap /-
 theorem toLin'_to_linearMap (A : SpecialLinearGroup n R) :
     ↑(SpecialLinearGroup.toLin' A) = Matrix.toLin' ↑ₘA :=
   rfl
 #align matrix.special_linear_group.to_lin'_to_linear_map Matrix.SpecialLinearGroup.toLin'_to_linearMap
+-/
 
+#print Matrix.SpecialLinearGroup.toLin'_symm_apply /-
 theorem toLin'_symm_apply (A : SpecialLinearGroup n R) (v : n → R) :
     A.toLin'.symm v = Matrix.toLin' (↑ₘA⁻¹) v :=
   rfl
 #align matrix.special_linear_group.to_lin'_symm_apply Matrix.SpecialLinearGroup.toLin'_symm_apply
+-/
 
+#print Matrix.SpecialLinearGroup.toLin'_symm_to_linearMap /-
 theorem toLin'_symm_to_linearMap (A : SpecialLinearGroup n R) :
     ↑A.toLin'.symm = Matrix.toLin' ↑ₘA⁻¹ :=
   rfl
 #align matrix.special_linear_group.to_lin'_symm_to_linear_map Matrix.SpecialLinearGroup.toLin'_symm_to_linearMap
+-/
 
+#print Matrix.SpecialLinearGroup.toLin'_injective /-
 theorem toLin'_injective :
     Function.Injective ⇑(toLin' : SpecialLinearGroup n R →* (n → R) ≃ₗ[R] n → R) := fun A B h =>
   Subtype.coe_injective <| Matrix.toLin'.Injective <| LinearEquiv.toLinearMap_injective.eq_iff.mpr h
 #align matrix.special_linear_group.to_lin'_injective Matrix.SpecialLinearGroup.toLin'_injective
+-/
 
+#print Matrix.SpecialLinearGroup.toGL /-
 /-- `to_GL` is the map from the special linear group to the general linear group -/
 def toGL : SpecialLinearGroup n R →* GeneralLinearGroup R (n → R) :=
   (GeneralLinearGroup.generalLinearEquiv _ _).symm.toMonoidHom.comp toLin'
 #align matrix.special_linear_group.to_GL Matrix.SpecialLinearGroup.toGL
+-/
 
+#print Matrix.SpecialLinearGroup.coe_toGL /-
 theorem coe_toGL (A : SpecialLinearGroup n R) : ↑A.toGL = A.toLin'.toLinearMap :=
   rfl
 #align matrix.special_linear_group.coe_to_GL Matrix.SpecialLinearGroup.coe_toGL
+-/
 
 variable {S : Type _} [CommRing S]
 
@@ -256,11 +282,13 @@ section cast
 instance : Coe (SpecialLinearGroup n ℤ) (SpecialLinearGroup n R) :=
   ⟨fun x => map (Int.castRingHom R) x⟩
 
+#print Matrix.SpecialLinearGroup.coe_matrix_coe /-
 @[simp]
 theorem coe_matrix_coe (g : SpecialLinearGroup n ℤ) :
     ↑(g : SpecialLinearGroup n R) = (↑g : Matrix n n ℤ).map (Int.castRingHom R) :=
   map_apply_coe (Int.castRingHom R) g
 #align matrix.special_linear_group.coe_matrix_coe Matrix.SpecialLinearGroup.coe_matrix_coe
+-/
 
 end cast
 
@@ -276,23 +304,28 @@ instance : Neg (SpecialLinearGroup n R) :=
       simpa [(Fact.out <| Even <| Fintype.card n).neg_one_pow, g.det_coe] using
         det_smul (↑ₘg) (-1)⟩⟩
 
+#print Matrix.SpecialLinearGroup.coe_neg /-
 @[simp]
 theorem coe_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(g : Matrix n n R) :=
   rfl
 #align matrix.special_linear_group.coe_neg Matrix.SpecialLinearGroup.coe_neg
+-/
 
 instance : HasDistribNeg (SpecialLinearGroup n R) :=
   Function.Injective.hasDistribNeg _ Subtype.coe_injective coe_neg coe_mul
 
+#print Matrix.SpecialLinearGroup.coe_int_neg /-
 @[simp]
 theorem coe_int_neg (g : SpecialLinearGroup n ℤ) : ↑(-g) = (-↑g : SpecialLinearGroup n R) :=
   Subtype.ext <| (@RingHom.mapMatrix n _ _ _ _ _ _ (Int.castRingHom R)).map_neg ↑g
 #align matrix.special_linear_group.coe_int_neg Matrix.SpecialLinearGroup.coe_int_neg
+-/
 
 end Neg
 
 section SpecialCases
 
+#print Matrix.SpecialLinearGroup.SL2_inv_expl_det /-
 theorem SL2_inv_expl_det (A : SL(2, R)) : det ![![A.1 1 1, -A.1 0 1], ![-A.1 1 0, A.1 0 0]] = 1 :=
   by
   rw [Matrix.det_fin_two, mul_comm]
@@ -301,6 +334,7 @@ theorem SL2_inv_expl_det (A : SL(2, R)) : det ![![A.1 1 1, -A.1 0 1], ![-A.1 1 0
   rw [Matrix.det_fin_two] at this 
   convert this
 #align matrix.special_linear_group.SL2_inv_expl_det Matrix.SpecialLinearGroup.SL2_inv_expl_det
+-/
 
 #print Matrix.SpecialLinearGroup.SL2_inv_expl /-
 theorem SL2_inv_expl (A : SL(2, R)) :
@@ -314,6 +348,7 @@ theorem SL2_inv_expl (A : SL(2, R)) :
 #align matrix.special_linear_group.SL2_inv_expl Matrix.SpecialLinearGroup.SL2_inv_expl
 -/
 
+#print Matrix.SpecialLinearGroup.fin_two_induction /-
 theorem fin_two_induction (P : SL(2, R) → Prop)
     (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], by rwa [det_fin_two_of]⟩)
     (g : SL(2, R)) : P g := by
@@ -321,7 +356,9 @@ theorem fin_two_induction (P : SL(2, R) → Prop)
   convert h (m 0 0) (m 0 1) (m 1 0) (m 1 1) (by rwa [det_fin_two] at hm )
   ext (i j); fin_cases i <;> fin_cases j <;> rfl
 #align matrix.special_linear_group.fin_two_induction Matrix.SpecialLinearGroup.fin_two_induction
+-/
 
+#print Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero /-
 theorem fin_two_exists_eq_mk_of_apply_zero_one_eq_zero {R : Type _} [Field R] (g : SL(2, R))
     (hg : (g : Matrix (Fin 2) (Fin 2) R) 1 0 = 0) :
     ∃ (a b : R) (h : a ≠ 0), g = (⟨!![a, b; 0, a⁻¹], by simp [h]⟩ : SL(2, R)) :=
@@ -332,6 +369,7 @@ theorem fin_two_exists_eq_mk_of_apply_zero_one_eq_zero {R : Type _} [Field R] (g
   refine' ⟨a, b, left_ne_zero_of_mul_eq_one had, _⟩
   simp_rw [eq_inv_of_mul_eq_one_right had, hg]
 #align matrix.special_linear_group.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero
+-/
 
 end SpecialCases
 
@@ -358,9 +396,9 @@ open scoped MatrixGroups
 
 open Matrix Matrix.SpecialLinearGroup
 
--- mathport name: «expr↑ₘ »
 local prefix:1024 "↑ₘ" => @coe _ (Matrix (Fin 2) (Fin 2) ℤ) _
 
+#print ModularGroup.S /-
 /-- The matrix `S = [[0, -1], [1, 0]]` as an element of `SL(2, ℤ)`.
 
 This element acts naturally on the Euclidean plane as a rotation about the origin by `π / 2`.
@@ -370,11 +408,14 @@ represents the Mobiüs transformation `z ↦ -1/z` and is an involutive elliptic
 def S : SL(2, ℤ) :=
   ⟨!![0, -1; 1, 0], by norm_num [Matrix.det_fin_two_of]⟩
 #align modular_group.S ModularGroup.S
+-/
 
+#print ModularGroup.T /-
 /-- The matrix `T = [[1, 1], [0, 1]]` as an element of `SL(2, ℤ)` -/
 def T : SL(2, ℤ) :=
   ⟨!![1, 1; 0, 1], by norm_num [Matrix.det_fin_two_of]⟩
 #align modular_group.T ModularGroup.T
+-/
 
 #print ModularGroup.coe_S /-
 theorem coe_S : ↑ₘS = !![0, -1; 1, 0] :=
@@ -388,11 +429,14 @@ theorem coe_T : ↑ₘT = !![1, 1; 0, 1] :=
 #align modular_group.coe_T ModularGroup.coe_T
 -/
 
+#print ModularGroup.coe_T_inv /-
 theorem coe_T_inv : ↑ₘT⁻¹ = !![1, -1; 0, 1] := by simp [coe_inv, coe_T, adjugate_fin_two]
 #align modular_group.coe_T_inv ModularGroup.coe_T_inv
+-/
 
 /- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr!![ »(matrix.notation [expr _, ",", expr _, ";", expr _, ",", expr _, "]"] [])]] -/
 /- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr!![ »(matrix.notation [expr _, ",", expr _, ";", expr _, ",", expr _, "]"] [])]] -/
+#print ModularGroup.coe_T_zpow /-
 theorem coe_T_zpow (n : ℤ) : ↑ₘ(T ^ n) = !![1, n; 0, 1] :=
   by
   induction' n using Int.induction_on with n h n h
@@ -406,21 +450,28 @@ theorem coe_T_zpow (n : ℤ) : ↑ₘ(T ^ n) = !![1, n; 0, 1] :=
         "./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr!![ »(matrix.notation [expr _, \",\", expr _, \";\", expr _, \",\", expr _, \"]\"] [])]]" <;>
       ring
 #align modular_group.coe_T_zpow ModularGroup.coe_T_zpow
+-/
 
+#print ModularGroup.T_pow_mul_apply_one /-
 @[simp]
 theorem T_pow_mul_apply_one (n : ℤ) (g : SL(2, ℤ)) : ↑ₘ(T ^ n * g) 1 = ↑ₘg 1 := by
   simp [coe_T_zpow, Matrix.mul, Matrix.dotProduct, Fin.sum_univ_succ]
 #align modular_group.T_pow_mul_apply_one ModularGroup.T_pow_mul_apply_one
+-/
 
+#print ModularGroup.T_mul_apply_one /-
 @[simp]
 theorem T_mul_apply_one (g : SL(2, ℤ)) : ↑ₘ(T * g) 1 = ↑ₘg 1 := by
   simpa using T_pow_mul_apply_one 1 g
 #align modular_group.T_mul_apply_one ModularGroup.T_mul_apply_one
+-/
 
+#print ModularGroup.T_inv_mul_apply_one /-
 @[simp]
 theorem T_inv_mul_apply_one (g : SL(2, ℤ)) : ↑ₘ(T⁻¹ * g) 1 = ↑ₘg 1 := by
   simpa using T_pow_mul_apply_one (-1) g
 #align modular_group.T_inv_mul_apply_one ModularGroup.T_inv_mul_apply_one
+-/
 
 end ModularGroup
 
Diff
@@ -298,7 +298,7 @@ theorem SL2_inv_expl_det (A : SL(2, R)) : det ![![A.1 1 1, -A.1 0 1], ![-A.1 1 0
   rw [Matrix.det_fin_two, mul_comm]
   simp only [Subtype.val_eq_coe, cons_val_zero, cons_val_one, head_cons, mul_neg, neg_mul, neg_neg]
   have := A.2
-  rw [Matrix.det_fin_two] at this
+  rw [Matrix.det_fin_two] at this 
   convert this
 #align matrix.special_linear_group.SL2_inv_expl_det Matrix.SpecialLinearGroup.SL2_inv_expl_det
 
@@ -308,7 +308,7 @@ theorem SL2_inv_expl (A : SL(2, R)) :
   by
   ext
   have := Matrix.adjugate_fin_two A.1
-  simp only [Subtype.val_eq_coe] at this
+  simp only [Subtype.val_eq_coe] at this 
   rw [coe_inv, this]
   rfl
 #align matrix.special_linear_group.SL2_inv_expl Matrix.SpecialLinearGroup.SL2_inv_expl
@@ -318,17 +318,17 @@ theorem fin_two_induction (P : SL(2, R) → Prop)
     (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], by rwa [det_fin_two_of]⟩)
     (g : SL(2, R)) : P g := by
   obtain ⟨m, hm⟩ := g
-  convert h (m 0 0) (m 0 1) (m 1 0) (m 1 1) (by rwa [det_fin_two] at hm)
+  convert h (m 0 0) (m 0 1) (m 1 0) (m 1 1) (by rwa [det_fin_two] at hm )
   ext (i j); fin_cases i <;> fin_cases j <;> rfl
 #align matrix.special_linear_group.fin_two_induction Matrix.SpecialLinearGroup.fin_two_induction
 
 theorem fin_two_exists_eq_mk_of_apply_zero_one_eq_zero {R : Type _} [Field R] (g : SL(2, R))
     (hg : (g : Matrix (Fin 2) (Fin 2) R) 1 0 = 0) :
-    ∃ (a b : R)(h : a ≠ 0), g = (⟨!![a, b; 0, a⁻¹], by simp [h]⟩ : SL(2, R)) :=
+    ∃ (a b : R) (h : a ≠ 0), g = (⟨!![a, b; 0, a⁻¹], by simp [h]⟩ : SL(2, R)) :=
   by
   induction' g using Matrix.SpecialLinearGroup.fin_two_induction with a b c d h_det
   replace hg : c = 0 := by simpa using hg
-  have had : a * d = 1 := by rwa [hg, MulZeroClass.mul_zero, sub_zero] at h_det
+  have had : a * d = 1 := by rwa [hg, MulZeroClass.mul_zero, sub_zero] at h_det 
   refine' ⟨a, b, left_ne_zero_of_mul_eq_one had, _⟩
   simp_rw [eq_inv_of_mul_eq_one_right had, hg]
 #align matrix.special_linear_group.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero
@@ -368,12 +368,12 @@ This element acts naturally on the Euclidean plane as a rotation about the origi
 This element also acts naturally on the hyperbolic plane as rotation about `i` by `π`. It
 represents the Mobiüs transformation `z ↦ -1/z` and is an involutive elliptic isometry. -/
 def S : SL(2, ℤ) :=
-  ⟨!![0, -1; 1, 0], by norm_num [Matrix.det_fin_two_of] ⟩
+  ⟨!![0, -1; 1, 0], by norm_num [Matrix.det_fin_two_of]⟩
 #align modular_group.S ModularGroup.S
 
 /-- The matrix `T = [[1, 1], [0, 1]]` as an element of `SL(2, ℤ)` -/
 def T : SL(2, ℤ) :=
-  ⟨!![1, 1; 0, 1], by norm_num [Matrix.det_fin_two_of] ⟩
+  ⟨!![1, 1; 0, 1], by norm_num [Matrix.det_fin_two_of]⟩
 #align modular_group.T ModularGroup.T
 
 #print ModularGroup.coe_S /-
Diff
@@ -60,7 +60,7 @@ namespace Matrix
 
 universe u v
 
-open Matrix
+open scoped Matrix
 
 open LinearMap
 
@@ -354,7 +354,7 @@ end Matrix
 
 namespace ModularGroup
 
-open MatrixGroups
+open scoped MatrixGroups
 
 open Matrix Matrix.SpecialLinearGroup
 
Diff
@@ -140,9 +140,6 @@ section CoeLemmas
 
 variable (A B : SpecialLinearGroup n R)
 
-/- warning: matrix.special_linear_group.coe_mk -> Matrix.SpecialLinearGroup.coe_mk is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_mk Matrix.SpecialLinearGroup.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (A : Matrix n n R) (h : det A = 1) : ↑(⟨A, h⟩ : SpecialLinearGroup n R) = A :=
   rfl
@@ -155,51 +152,30 @@ theorem coe_inv : ↑ₘA⁻¹ = adjugate A :=
 #align matrix.special_linear_group.coe_inv Matrix.SpecialLinearGroup.coe_inv
 -/
 
-/- warning: matrix.special_linear_group.coe_mul -> Matrix.SpecialLinearGroup.coe_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_mul Matrix.SpecialLinearGroup.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul : ↑ₘ(A * B) = ↑ₘA ⬝ ↑ₘB :=
   rfl
 #align matrix.special_linear_group.coe_mul Matrix.SpecialLinearGroup.coe_mul
 
-/- warning: matrix.special_linear_group.coe_one -> Matrix.SpecialLinearGroup.coe_one is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R], Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) (OfNat.ofNat.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) 1 (OfNat.mk.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) 1 (One.one.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.hasOne.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3))))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasOne.{u2, u1} n R (fun (a : n) (b : n) => _inst_1 a b) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R], Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (OfNat.ofNat.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) 1 (One.toOfNat1.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.hasOne.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.one.{u2, u1} n R (fun (a : n) (b : n) => _inst_1 a b) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_one Matrix.SpecialLinearGroup.coe_oneₓ'. -/
 @[simp]
 theorem coe_one : ↑ₘ(1 : SpecialLinearGroup n R) = (1 : Matrix n n R) :=
   rfl
 #align matrix.special_linear_group.coe_one Matrix.SpecialLinearGroup.coe_one
 
-/- warning: matrix.special_linear_group.det_coe -> Matrix.SpecialLinearGroup.det_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.det_coe Matrix.SpecialLinearGroup.det_coeₓ'. -/
 @[simp]
 theorem det_coe : det ↑ₘA = 1 :=
   A.2
 #align matrix.special_linear_group.det_coe Matrix.SpecialLinearGroup.det_coe
 
-/- warning: matrix.special_linear_group.coe_pow -> Matrix.SpecialLinearGroup.coe_pow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_pow Matrix.SpecialLinearGroup.coe_powₓ'. -/
 @[simp]
 theorem coe_pow (m : ℕ) : ↑ₘ(A ^ m) = ↑ₘA ^ m :=
   rfl
 #align matrix.special_linear_group.coe_pow Matrix.SpecialLinearGroup.coe_pow
 
-/- warning: matrix.special_linear_group.det_ne_zero -> Matrix.SpecialLinearGroup.det_ne_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zeroₓ'. -/
 theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg ≠ 0 := by rw [g.det_coe];
   norm_num
 #align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zero
 
-/- warning: matrix.special_linear_group.row_ne_zero -> Matrix.SpecialLinearGroup.row_ne_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.row_ne_zero Matrix.SpecialLinearGroup.row_ne_zeroₓ'. -/
 theorem row_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) (i : n) : ↑ₘg i ≠ 0 := fun h =>
   g.det_ne_zero <| det_eq_zero_of_row_eq_zero i <| by simp [h]
 #align matrix.special_linear_group.row_ne_zero Matrix.SpecialLinearGroup.row_ne_zero
@@ -226,60 +202,36 @@ def toLin' : SpecialLinearGroup n R →* (n → R) ≃ₗ[R] n → R
 #align matrix.special_linear_group.to_lin' Matrix.SpecialLinearGroup.toLin'
 -/
 
-/- warning: matrix.special_linear_group.to_lin'_apply -> Matrix.SpecialLinearGroup.toLin'_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_lin'_apply Matrix.SpecialLinearGroup.toLin'_applyₓ'. -/
 theorem toLin'_apply (A : SpecialLinearGroup n R) (v : n → R) :
     SpecialLinearGroup.toLin' A v = Matrix.toLin' (↑ₘA) v :=
   rfl
 #align matrix.special_linear_group.to_lin'_apply Matrix.SpecialLinearGroup.toLin'_apply
 
-/- warning: matrix.special_linear_group.to_lin'_to_linear_map -> Matrix.SpecialLinearGroup.toLin'_to_linearMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_lin'_to_linear_map Matrix.SpecialLinearGroup.toLin'_to_linearMapₓ'. -/
 theorem toLin'_to_linearMap (A : SpecialLinearGroup n R) :
     ↑(SpecialLinearGroup.toLin' A) = Matrix.toLin' ↑ₘA :=
   rfl
 #align matrix.special_linear_group.to_lin'_to_linear_map Matrix.SpecialLinearGroup.toLin'_to_linearMap
 
-/- warning: matrix.special_linear_group.to_lin'_symm_apply -> Matrix.SpecialLinearGroup.toLin'_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_lin'_symm_apply Matrix.SpecialLinearGroup.toLin'_symm_applyₓ'. -/
 theorem toLin'_symm_apply (A : SpecialLinearGroup n R) (v : n → R) :
     A.toLin'.symm v = Matrix.toLin' (↑ₘA⁻¹) v :=
   rfl
 #align matrix.special_linear_group.to_lin'_symm_apply Matrix.SpecialLinearGroup.toLin'_symm_apply
 
-/- warning: matrix.special_linear_group.to_lin'_symm_to_linear_map -> Matrix.SpecialLinearGroup.toLin'_symm_to_linearMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_lin'_symm_to_linear_map Matrix.SpecialLinearGroup.toLin'_symm_to_linearMapₓ'. -/
 theorem toLin'_symm_to_linearMap (A : SpecialLinearGroup n R) :
     ↑A.toLin'.symm = Matrix.toLin' ↑ₘA⁻¹ :=
   rfl
 #align matrix.special_linear_group.to_lin'_symm_to_linear_map Matrix.SpecialLinearGroup.toLin'_symm_to_linearMap
 
-/- warning: matrix.special_linear_group.to_lin'_injective -> Matrix.SpecialLinearGroup.toLin'_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_lin'_injective Matrix.SpecialLinearGroup.toLin'_injectiveₓ'. -/
 theorem toLin'_injective :
     Function.Injective ⇑(toLin' : SpecialLinearGroup n R →* (n → R) ≃ₗ[R] n → R) := fun A B h =>
   Subtype.coe_injective <| Matrix.toLin'.Injective <| LinearEquiv.toLinearMap_injective.eq_iff.mpr h
 #align matrix.special_linear_group.to_lin'_injective Matrix.SpecialLinearGroup.toLin'_injective
 
-/- warning: matrix.special_linear_group.to_GL -> Matrix.SpecialLinearGroup.toGL is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R], MonoidHom.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearMap.GeneralLinearGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Units.mulOneClass.{max u1 u2} (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Module.End.monoid.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R], MonoidHom.{max u2 u1, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearMap.GeneralLinearGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3925 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Units.instMulOneClassUnits.{max u1 u2} (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3925 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3925 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.End.monoid.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3925 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_GL Matrix.SpecialLinearGroup.toGLₓ'. -/
 /-- `to_GL` is the map from the special linear group to the general linear group -/
 def toGL : SpecialLinearGroup n R →* GeneralLinearGroup R (n → R) :=
   (GeneralLinearGroup.generalLinearEquiv _ _).symm.toMonoidHom.comp toLin'
 #align matrix.special_linear_group.to_GL Matrix.SpecialLinearGroup.toGL
 
-/- warning: matrix.special_linear_group.coe_to_GL -> Matrix.SpecialLinearGroup.coe_toGL is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_to_GL Matrix.SpecialLinearGroup.coe_toGLₓ'. -/
 theorem coe_toGL (A : SpecialLinearGroup n R) : ↑A.toGL = A.toLin'.toLinearMap :=
   rfl
 #align matrix.special_linear_group.coe_to_GL Matrix.SpecialLinearGroup.coe_toGL
@@ -304,9 +256,6 @@ section cast
 instance : Coe (SpecialLinearGroup n ℤ) (SpecialLinearGroup n R) :=
   ⟨fun x => map (Int.castRingHom R) x⟩
 
-/- warning: matrix.special_linear_group.coe_matrix_coe -> Matrix.SpecialLinearGroup.coe_matrix_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_matrix_coe Matrix.SpecialLinearGroup.coe_matrix_coeₓ'. -/
 @[simp]
 theorem coe_matrix_coe (g : SpecialLinearGroup n ℤ) :
     ↑(g : SpecialLinearGroup n R) = (↑g : Matrix n n ℤ).map (Int.castRingHom R) :=
@@ -327,9 +276,6 @@ instance : Neg (SpecialLinearGroup n R) :=
       simpa [(Fact.out <| Even <| Fintype.card n).neg_one_pow, g.det_coe] using
         det_smul (↑ₘg) (-1)⟩⟩
 
-/- warning: matrix.special_linear_group.coe_neg -> Matrix.SpecialLinearGroup.coe_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_neg Matrix.SpecialLinearGroup.coe_negₓ'. -/
 @[simp]
 theorem coe_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(g : Matrix n n R) :=
   rfl
@@ -338,9 +284,6 @@ theorem coe_neg (g : SpecialLinearGroup n R) : ↑(-g) = -(g : Matrix n n R) :=
 instance : HasDistribNeg (SpecialLinearGroup n R) :=
   Function.Injective.hasDistribNeg _ Subtype.coe_injective coe_neg coe_mul
 
-/- warning: matrix.special_linear_group.coe_int_neg -> Matrix.SpecialLinearGroup.coe_int_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_int_neg Matrix.SpecialLinearGroup.coe_int_negₓ'. -/
 @[simp]
 theorem coe_int_neg (g : SpecialLinearGroup n ℤ) : ↑(-g) = (-↑g : SpecialLinearGroup n R) :=
   Subtype.ext <| (@RingHom.mapMatrix n _ _ _ _ _ _ (Int.castRingHom R)).map_neg ↑g
@@ -350,9 +293,6 @@ end Neg
 
 section SpecialCases
 
-/- warning: matrix.special_linear_group.SL2_inv_expl_det -> Matrix.SpecialLinearGroup.SL2_inv_expl_det is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.SL2_inv_expl_det Matrix.SpecialLinearGroup.SL2_inv_expl_detₓ'. -/
 theorem SL2_inv_expl_det (A : SL(2, R)) : det ![![A.1 1 1, -A.1 0 1], ![-A.1 1 0, A.1 0 0]] = 1 :=
   by
   rw [Matrix.det_fin_two, mul_comm]
@@ -374,9 +314,6 @@ theorem SL2_inv_expl (A : SL(2, R)) :
 #align matrix.special_linear_group.SL2_inv_expl Matrix.SpecialLinearGroup.SL2_inv_expl
 -/
 
-/- warning: matrix.special_linear_group.fin_two_induction -> Matrix.SpecialLinearGroup.fin_two_induction is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.fin_two_induction Matrix.SpecialLinearGroup.fin_two_inductionₓ'. -/
 theorem fin_two_induction (P : SL(2, R) → Prop)
     (h : ∀ (a b c d : R) (hdet : a * d - b * c = 1), P ⟨!![a, b; c, d], by rwa [det_fin_two_of]⟩)
     (g : SL(2, R)) : P g := by
@@ -385,9 +322,6 @@ theorem fin_two_induction (P : SL(2, R) → Prop)
   ext (i j); fin_cases i <;> fin_cases j <;> rfl
 #align matrix.special_linear_group.fin_two_induction Matrix.SpecialLinearGroup.fin_two_induction
 
-/- warning: matrix.special_linear_group.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero -> Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.fin_two_exists_eq_mk_of_apply_zero_one_eq_zero Matrix.SpecialLinearGroup.fin_two_exists_eq_mk_of_apply_zero_one_eq_zeroₓ'. -/
 theorem fin_two_exists_eq_mk_of_apply_zero_one_eq_zero {R : Type _} [Field R] (g : SL(2, R))
     (hg : (g : Matrix (Fin 2) (Fin 2) R) 1 0 = 0) :
     ∃ (a b : R)(h : a ≠ 0), g = (⟨!![a, b; 0, a⁻¹], by simp [h]⟩ : SL(2, R)) :=
@@ -427,12 +361,6 @@ open Matrix Matrix.SpecialLinearGroup
 -- mathport name: «expr↑ₘ »
 local prefix:1024 "↑ₘ" => @coe _ (Matrix (Fin 2) (Fin 2) ℤ) _
 
-/- warning: modular_group.S -> ModularGroup.S is a dubious translation:
-lean 3 declaration is
-  Matrix.SpecialLinearGroup.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (b : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Int Int.commRing
-but is expected to have type
-  Matrix.SpecialLinearGroup.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Int Int.instCommRingInt
-Case conversion may be inaccurate. Consider using '#align modular_group.S ModularGroup.Sₓ'. -/
 /-- The matrix `S = [[0, -1], [1, 0]]` as an element of `SL(2, ℤ)`.
 
 This element acts naturally on the Euclidean plane as a rotation about the origin by `π / 2`.
@@ -443,12 +371,6 @@ def S : SL(2, ℤ) :=
   ⟨!![0, -1; 1, 0], by norm_num [Matrix.det_fin_two_of] ⟩
 #align modular_group.S ModularGroup.S
 
-/- warning: modular_group.T -> ModularGroup.T is a dubious translation:
-lean 3 declaration is
-  Matrix.SpecialLinearGroup.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) (b : Fin (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) => Fin.decidableEq (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) Int Int.commRing
-but is expected to have type
-  Matrix.SpecialLinearGroup.{0, 0} (Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (fun (a : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) (b : Fin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) => instDecidableEqFin (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) a b) (Fin.fintype (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2))) Int Int.instCommRingInt
-Case conversion may be inaccurate. Consider using '#align modular_group.T ModularGroup.Tₓ'. -/
 /-- The matrix `T = [[1, 1], [0, 1]]` as an element of `SL(2, ℤ)` -/
 def T : SL(2, ℤ) :=
   ⟨!![1, 1; 0, 1], by norm_num [Matrix.det_fin_two_of] ⟩
@@ -466,15 +388,9 @@ theorem coe_T : ↑ₘT = !![1, 1; 0, 1] :=
 #align modular_group.coe_T ModularGroup.coe_T
 -/
 
-/- warning: modular_group.coe_T_inv -> ModularGroup.coe_T_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align modular_group.coe_T_inv ModularGroup.coe_T_invₓ'. -/
 theorem coe_T_inv : ↑ₘT⁻¹ = !![1, -1; 0, 1] := by simp [coe_inv, coe_T, adjugate_fin_two]
 #align modular_group.coe_T_inv ModularGroup.coe_T_inv
 
-/- warning: modular_group.coe_T_zpow -> ModularGroup.coe_T_zpow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align modular_group.coe_T_zpow ModularGroup.coe_T_zpowₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr!![ »(matrix.notation [expr _, ",", expr _, ";", expr _, ",", expr _, "]"] [])]] -/
 /- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `congrm #[[expr «expr!![ »(matrix.notation [expr _, ",", expr _, ";", expr _, ",", expr _, "]"] [])]] -/
 theorem coe_T_zpow (n : ℤ) : ↑ₘ(T ^ n) = !![1, n; 0, 1] :=
@@ -491,25 +407,16 @@ theorem coe_T_zpow (n : ℤ) : ↑ₘ(T ^ n) = !![1, n; 0, 1] :=
       ring
 #align modular_group.coe_T_zpow ModularGroup.coe_T_zpow
 
-/- warning: modular_group.T_pow_mul_apply_one -> ModularGroup.T_pow_mul_apply_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align modular_group.T_pow_mul_apply_one ModularGroup.T_pow_mul_apply_oneₓ'. -/
 @[simp]
 theorem T_pow_mul_apply_one (n : ℤ) (g : SL(2, ℤ)) : ↑ₘ(T ^ n * g) 1 = ↑ₘg 1 := by
   simp [coe_T_zpow, Matrix.mul, Matrix.dotProduct, Fin.sum_univ_succ]
 #align modular_group.T_pow_mul_apply_one ModularGroup.T_pow_mul_apply_one
 
-/- warning: modular_group.T_mul_apply_one -> ModularGroup.T_mul_apply_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align modular_group.T_mul_apply_one ModularGroup.T_mul_apply_oneₓ'. -/
 @[simp]
 theorem T_mul_apply_one (g : SL(2, ℤ)) : ↑ₘ(T * g) 1 = ↑ₘg 1 := by
   simpa using T_pow_mul_apply_one 1 g
 #align modular_group.T_mul_apply_one ModularGroup.T_mul_apply_one
 
-/- warning: modular_group.T_inv_mul_apply_one -> ModularGroup.T_inv_mul_apply_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align modular_group.T_inv_mul_apply_one ModularGroup.T_inv_mul_apply_oneₓ'. -/
 @[simp]
 theorem T_inv_mul_apply_one (g : SL(2, ℤ)) : ↑ₘ(T⁻¹ * g) 1 = ↑ₘg 1 := by
   simpa using T_pow_mul_apply_one (-1) g
Diff
@@ -193,9 +193,7 @@ theorem coe_pow (m : ℕ) : ↑ₘ(A ^ m) = ↑ₘA ^ m :=
 /- warning: matrix.special_linear_group.det_ne_zero -> Matrix.SpecialLinearGroup.det_ne_zero is a dubious translation:
 <too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zeroₓ'. -/
-theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg ≠ 0 :=
-  by
-  rw [g.det_coe]
+theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg ≠ 0 := by rw [g.det_coe];
   norm_num
 #align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zero
 
@@ -213,9 +211,7 @@ instance : Monoid (SpecialLinearGroup n R) :=
 
 instance : Group (SpecialLinearGroup n R) :=
   { SpecialLinearGroup.monoid, SpecialLinearGroup.hasInv with
-    mul_left_inv := fun A => by
-      ext1
-      simp [adjugate_mul] }
+    mul_left_inv := fun A => by ext1; simp [adjugate_mul] }
 
 #print Matrix.SpecialLinearGroup.toLin' /-
 /-- A version of `matrix.to_lin' A` that produces linear equivalences. -/
@@ -296,10 +292,7 @@ variable {S : Type _} [CommRing S]
 @[simps]
 def map (f : R →+* S) : SpecialLinearGroup n R →* SpecialLinearGroup n S
     where
-  toFun g :=
-    ⟨f.mapMatrix ↑g, by
-      rw [← f.map_det]
-      simp [g.2]⟩
+  toFun g := ⟨f.mapMatrix ↑g, by rw [← f.map_det]; simp [g.2]⟩
   map_one' := Subtype.ext <| f.mapMatrix.map_one
   map_mul' x y := Subtype.ext <| f.mapMatrix.map_mul x y
 #align matrix.special_linear_group.map Matrix.SpecialLinearGroup.map
Diff
@@ -141,10 +141,7 @@ section CoeLemmas
 variable (A B : SpecialLinearGroup n R)
 
 /- warning: matrix.special_linear_group.coe_mk -> Matrix.SpecialLinearGroup.coe_mk is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.{u1, u1, u2} n n R) (h : Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))), Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Subtype.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Subtype.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Subtype.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Subtype.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Matrix.{u1, u1, u2} n n R) (coeSubtype.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))))))) (Subtype.mk.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) A h)) A
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.{u1, u1, u2} n n R) (h : Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Subtype.mk.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) A h)) A
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_mk Matrix.SpecialLinearGroup.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (A : Matrix n n R) (h : det A = 1) : ↑(⟨A, h⟩ : SpecialLinearGroup n R) = A :=
@@ -159,10 +156,7 @@ theorem coe_inv : ↑ₘA⁻¹ = adjugate A :=
 -/
 
 /- warning: matrix.special_linear_group.coe_mul -> Matrix.SpecialLinearGroup.coe_mul is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (B : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (instHMul.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.hasMul.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) A B)) (Matrix.mul.{u2, u1, u1, u1} n n n R _inst_2 (Distrib.toHasMul.{u2} R (Ring.toDistrib.{u2} R (CommRing.toRing.{u2} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) A) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) B))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (B : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (instHMul.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.hasMul.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) A B)) (Matrix.mul.{u2, u1, u1, u1} n n n R _inst_2 (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) A) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) B))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_mul Matrix.SpecialLinearGroup.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul : ↑ₘ(A * B) = ↑ₘA ⬝ ↑ₘB :=
@@ -181,10 +175,7 @@ theorem coe_one : ↑ₘ(1 : SpecialLinearGroup n R) = (1 : Matrix n n R) :=
 #align matrix.special_linear_group.coe_one Matrix.SpecialLinearGroup.coe_one
 
 /- warning: matrix.special_linear_group.det_coe -> Matrix.SpecialLinearGroup.det_coe is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) A)) (OfNat.ofNat.{u2} R 1 (OfNat.mk.{u2} R 1 (One.one.{u2} R (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) A)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.det_coe Matrix.SpecialLinearGroup.det_coeₓ'. -/
 @[simp]
 theorem det_coe : det ↑ₘA = 1 :=
@@ -192,10 +183,7 @@ theorem det_coe : det ↑ₘA = 1 :=
 #align matrix.special_linear_group.det_coe Matrix.SpecialLinearGroup.det_coe
 
 /- warning: matrix.special_linear_group.coe_pow -> Matrix.SpecialLinearGroup.coe_pow is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (m : Nat), Eq.{succ (max u1 u2)} (Matrix.{u1, u1, u2} n n R) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) Nat (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (instHPow.{max u1 u2, 0} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) Nat (Matrix.SpecialLinearGroup.Nat.hasPow.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) A m)) (HPow.hPow.{max u1 u2, 0, max u1 u2} (Matrix.{u1, u1, u2} n n R) Nat (Matrix.{u1, u1, u2} n n R) (instHPow.{max u1 u2, 0} (Matrix.{u1, u1, u2} n n R) Nat (Monoid.Pow.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_2 (fun (a : n) (b : n) => _inst_1 a b) (CommRing.toRing.{u2} R _inst_3))))) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) A) m)
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (m : Nat), Eq.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) Nat (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (instHPow.{max u1 u2, 0} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) Nat (Matrix.SpecialLinearGroup.instPowSpecialLinearGroupNat.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) A m)) (HPow.hPow.{max u1 u2, 0, max u1 u2} (Matrix.{u1, u1, u2} n n R) Nat (Matrix.{u1, u1, u2} n n R) (instHPow.{max u1 u2, 0} (Matrix.{u1, u1, u2} n n R) Nat (Monoid.Pow.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_2 (fun (a : n) (b : n) => _inst_1 a b)))))) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) A) m)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.coe_pow Matrix.SpecialLinearGroup.coe_powₓ'. -/
 @[simp]
 theorem coe_pow (m : ℕ) : ↑ₘ(A ^ m) = ↑ₘA ^ m :=
@@ -203,10 +191,7 @@ theorem coe_pow (m : ℕ) : ↑ₘ(A ^ m) = ↑ₘA ^ m :=
 #align matrix.special_linear_group.coe_pow Matrix.SpecialLinearGroup.coe_pow
 
 /- warning: matrix.special_linear_group.det_ne_zero -> Matrix.SpecialLinearGroup.det_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] [_inst_4 : Nontrivial.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Ne.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g)) (OfNat.ofNat.{u2} R 0 (OfNat.mk.{u2} R 0 (Zero.zero.{u2} R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] [_inst_4 : Nontrivial.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Ne.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3 (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) g)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zeroₓ'. -/
 theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg ≠ 0 :=
   by
@@ -215,10 +200,7 @@ theorem det_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) : det ↑ₘg 
 #align matrix.special_linear_group.det_ne_zero Matrix.SpecialLinearGroup.det_ne_zero
 
 /- warning: matrix.special_linear_group.row_ne_zero -> Matrix.SpecialLinearGroup.row_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] [_inst_4 : Nontrivial.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (i : n), Ne.{max (succ u1) (succ u2)} (n -> R) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) g i) (OfNat.ofNat.{max u1 u2} (n -> R) 0 (OfNat.mk.{max u1 u2} (n -> R) 0 (Zero.zero.{max u1 u2} (n -> R) (Pi.instZero.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))))
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] [_inst_4 : Nontrivial.{u2} R] (g : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (i : n), Ne.{max (succ u1) (succ u2)} (n -> R) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) g i) (OfNat.ofNat.{max u1 u2} (n -> R) 0 (Zero.toOfNat0.{max u1 u2} (n -> R) (Pi.instZero.{u1, u2} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.row_ne_zero Matrix.SpecialLinearGroup.row_ne_zeroₓ'. -/
 theorem row_ne_zero [Nontrivial R] (g : SpecialLinearGroup n R) (i : n) : ↑ₘg i ≠ 0 := fun h =>
   g.det_ne_zero <| det_eq_zero_of_row_eq_zero i <| by simp [h]
@@ -249,10 +231,7 @@ def toLin' : SpecialLinearGroup n R →* (n → R) ≃ₗ[R] n → R
 -/
 
 /- warning: matrix.special_linear_group.to_lin'_apply -> Matrix.SpecialLinearGroup.toLin'_apply is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (v : n -> R), Eq.{max (succ u1) (succ u2)} (n -> R) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) => (n -> R) -> n -> R) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (MonoidHom.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) (fun (_x : MonoidHom.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) => (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) -> (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (MonoidHom.hasCoeToFun.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) (Matrix.SpecialLinearGroup.toLin'.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) A) v) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (_x : LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) => (n -> R) -> n -> R) (LinearMap.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_1.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.toLin'._proof_2.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.module.{u2, u2, u2, max u1 u2, max u1 u2} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_3.{u2, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n))) (fun (_x : LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_1.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.toLin'._proof_2.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.module.{u2, u2, u2, max u1 u2, max u1 u2} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_3.{u2, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n))) => (Matrix.{u1, u1, u2} n n R) -> (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearEquiv.hasCoeToFun.{u2, u2, max u1 u2, max u1 u2} R R (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.module.{u2, u2, u2, max u1 u2, max u1 u2} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_3.{u2, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_1.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.toLin'._proof_2.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.toLin'.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 (fun (a : n) (b : n) => _inst_1 a b)) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.{u1, u1, u2} n n R) (Matrix.SpecialLinearGroup.hasCoeToMatrix.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)))) A)) v)
-but is expected to have type
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (v : n -> R), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : n -> R) => n -> R) v) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) A) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : n -> R) => n -> R) _x) (SMulHomClass.toFunLike.{max u1 u2, u2, max u1 u2, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) A) R (n -> R) (n -> R) (SMulZeroClass.toSMul.{u2, max u1 u2} R (n -> R) (AddMonoid.toZero.{max u1 u2} (n -> R) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (n -> R) (AddMonoid.toAddZeroClass.{max u1 u2} (n -> R) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (n -> R) (AddMonoid.toZero.{max u1 u2} (n -> R) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (n -> R) (AddMonoid.toAddZeroClass.{max u1 u2} (n -> R) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, u2, max u1 u2, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) A) R (n -> R) (n -> R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u1 u2, max u1 u2, max u1 u2} R (n -> R) (n -> R) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) A) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u1 u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) A) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (MonoidHom.{max u2 u1, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (fun (_x : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) => LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (MonoidHom.{max u2 u1, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MulOneClass.toMul.{max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3))) (MulOneClass.toMul.{max u2 u1} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (MonoidHomClass.toMulHomClass.{max u2 u1, max u2 u1, max u2 u1} (MonoidHom.{max u2 u1, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (MonoidHom.monoidHomClass.{max u2 u1, max u2 u1} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.SpecialLinearGroup._hyg.3496 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))))) (Matrix.SpecialLinearGroup.toLin'.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) A) v) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u1, u2} n n R) => LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) A)) (n -> R) (fun (_x : n -> R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : n -> R) => n -> R) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearEquiv.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (Matrix.{u1, u1, u2} n n R) (fun (_x : Matrix.{u1, u1, u2} n n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u1, u2} n n R) => LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) _x) (SMulHomClass.toFunLike.{max u1 u2, u2, max u1 u2, max u1 u2} (LinearEquiv.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) R (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (Matrix.{u1, u1, u2} n n R) (AddMonoid.toZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (AddCommMonoid.toAddMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (Matrix.{u1, u1, u2} n n R) (AddMonoid.toAddZeroClass.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (AddCommMonoid.toAddMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Matrix.{u1, u1, u2} n n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (AddMonoid.toZero.{max u1 u2} (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (AddMonoid.toAddZeroClass.{max u1 u2} (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, u2, max u1 u2, max u1 u2} (LinearEquiv.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) R (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (Matrix.{u1, u1, u2} n n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u1 u2} R (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max u1 u2, max u1 u2, max u1 u2} R (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max u1 u2, max u1 u2, max u1 u2} R R (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u2 u1, max u2 u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, max u2 u1, max u2 u1} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2099 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.module.{u1, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (fun (i : n) => Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.smulCommClass.{u1, u2, u2, u2} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.2102 : n) => R) R R (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => Algebra.toSMul.{u2, u2} R R (CommRing.toCommSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (fun (i : n) => smulCommClass_self.{u2, u2} R R (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u2} R R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (MonoidWithZero.toMulActionWithZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin'.{u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_3) n n _inst_2 (fun (a : n) (b : n) => _inst_1 a b)) (Subtype.val.{max (succ u1) (succ u2)} (Matrix.{u1, u1, u2} n n R) (fun (A : Matrix.{u1, u1, u2} n n R) => Eq.{succ u2} R (Matrix.det.{u2, u1} n (fun (a : n) (b : n) => (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_1 a b) a b) a b) _inst_2 R _inst_3 A) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) A)) v)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.special_linear_group.to_lin'_apply Matrix.SpecialLinearGroup.toLin'_applyₓ'. -/
 theorem toLin'_apply (A : SpecialLinearGroup n R) (v : n → R) :
     SpecialLinearGroup.toLin' A v = Matrix.toLin' (↑ₘA) v :=
@@ -260,10 +239,7 @@ theorem toLin'_apply (A : SpecialLinearGroup n R) (v : n → R) :
 #align matrix.special_linear_group.to_lin'_apply Matrix.SpecialLinearGroup.toLin'_apply
 
 /- warning: matrix.special_linear_group.to_lin'_to_linear_map -> Matrix.SpecialLinearGroup.toLin'_to_linearMap is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} [_inst_1 : DecidableEq.{succ u1} n] [_inst_2 : Fintype.{u1} n] {R : Type.{u2}} [_inst_3 : CommRing.{u2} R] (A : Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3), Eq.{succ (max u1 u2)} (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearEquiv.LinearMap.hasCoe.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3))))) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (MonoidHom.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) (fun (_x : MonoidHom.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) => (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) -> (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (MonoidHom.hasCoeToFun.{max u1 u2, max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Monoid.toMulOneClass.{max u1 u2} (Matrix.SpecialLinearGroup.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) (Matrix.SpecialLinearGroup.monoid.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3)) (Monoid.toMulOneClass.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (DivInvMonoid.toMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Group.toDivInvMonoid.{max u1 u2} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Matrix.SpecialLinearGroup.toLin'._proof_1.{u2} R _inst_3) (Matrix.SpecialLinearGroup.toLin'._proof_2.{u2} R _inst_3) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (LinearEquiv.automorphismGroup.{u2, max u1 u2} R (n -> R) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u2} R (NonUnitalNonAssocRing.toAddCommGroup.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))))))))) (Matrix.SpecialLinearGroup.toLin'.{u1, u2} n (fun (a : n) (b : n) => _inst_1 a b) _inst_2 R _inst_3) A)) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (LinearEquiv.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Matrix.toLin'._proof_1.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.toLin'._proof_2.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.{u1, u1, u2} n n R) (LinearMap.{u2, u2, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (n -> R) (n -> R) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.addCommMonoid.{u2, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, max u1 u2, max u1 u2} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u1, u2} n n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.module.{u2, u2, u2, max u1 u2, max u1 u2} R R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.addCommMonoid.{u1, u2} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Pi.Function.module.{u1, u2, u2} n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (Non